文章目录
TextView
用于显示文本的控件。
功能
控件属性
属性名 | 作用 |
---|---|
id | TextView标识符 |
layout_width | 组件的宽度 |
layout_height | 组件的高度 |
gravity | 设置控件中内容的对齐方向 |
text | 设置显示的文本内容(一般文本字符串写到string.xml资源中,然后通@String/xxx获取) |
textColor | 设置字体颜色(colors.xml) |
textStyle | 设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜体) |
textSize | 字体大小 |
background | 控件的背景颜色或是图片做底(drawable中书写) |
autoLink | 识别链接类型 (web, email, phone ,map ,none, all) |
文本边框
练习
编写一个ShapeDrawable的资源文件
- 在
app/src/main/res/drawable
中建立shape_bg.xml
文件
- 相关知识熟悉
设置边框的特征(宽度和颜色)
<stroke android:width = "xdp" android:color="xxx">
设置渐变色
<gradient
android:angle="角度"
android:endColor="开始的颜色"
android:startColor="结束的颜色" />
设置渐变色的,可选属性有:
startColor:起始颜色;endColor:结束颜色。
centerColor:中间颜色。
angle:方向角度——等于0时,从左到右,然后逆时针方向转;当angle=90度时从下往上。
type:设置渐变的类型。
设置圆角
<corners android:topLeftRadius="10px"...>
- 代码实现
矩形边框
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="2px" android:color="#000000"/>
<gradient
android:angle="270"
android:endColor="#C0C0C0"
android:startColor="#FCD209" />
</shape>
圆角矩形边框
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#87CEEB" />
<stroke
android:width="20px"
android:color="#e21918" />
<corners
android:bottomLeftRadius="1000px"
android:bottomRightRadius="1000px"
android:topLeftRadius="1000px"
android:topRightRadius="1000px" />
</shape>
通过textview_test.xml
引用
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/shape_bg"
android:gravity="center"
android:text="Helloworld"
android:textSize="60sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/shape_bg1"
android:gravity="center"
android:text="你好世界"
android:textSize="60sp"/>
</LinearLayout>
结果展示:
EditText(输入框)
属性
属姓名 | 说明 |
---|---|
android:hint | 默认提示文本 |
android:textColorHint | 默认提示文本的颜色 |
android:selectAllOnFocus | 点击输入框获得焦点后,获取到输入框中所有的文本内容 |
android:inputType | 对输入的数据进行限制 |
android:minLines | 设置最小行数 |
android:maxLines | 设置最大行数 |
android:singleLine | 只允许单行输入,而且不会滚动 |
android:textScaleX | 设置字与字的水平间隔 |
android:textScaleY | 设置字与字的垂直间隔 |
练习
代码实现:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#eeeeee"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="40sp"
android:text="登录页面"
android:textColor="#000000"
android:textSize="20sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:text="用户名:"
android:textColor="#000000"
android:textSize="19sp" />
<EditText
android:id="@+id/etName"
android:layout_width="0dp"
android:layout_height="50dp"
android:text=""
android:hint="请输入用户名"
android:layout_weight="4" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:text="密 码:"
android:textColor="#000000"
android:textSize="19sp" />
<EditText
android:id="@+id/etPwd"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="4"
android:hint="请输入密码"
android:inputType="number" />
</LinearLayout>
</LinearLayout>
结果展示:
Button(按钮)
练习
编写一个button的资源文件
- 在
app/src/main/res/values
中为colors.xml添加颜色标签
- 在
app/src/main/res/drawable
中建立btn_bg.xml
文件
- 代码实现调用
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="50dp">
<Button
android:id="@+id/btnOne"
android:layout_width="match_parent"
android:layout_height="64dp"
android:background="@drawable/btn_bg"
android:text="按钮"
android:textColor="#ffffff"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
结果展示:
ImageView(图像视图)
src:前景
background:背景
RadioButton(单选按钮)&Checkbox(复选框)
ToggleButton(开关按钮)
ToggleButton属性
属性名 | 说明 |
---|---|
android:disabledAlpha | 设置按钮在禁用时的透明度 |
android:textOff | 按钮没有被选中时显示的文字 |
android:textOn | 按钮被选中时显示的文字 |
Switch(开关按钮)
Switch属性
属性名 | 说明 |
---|---|
android:showText | 设置on/off的时候是否显示文字 |
android:splitTrack | 是否设置一个间隙,让滑块与底部图片分隔 |
android:switchMinWidth | 设置开关的最小宽度 |
android:switchPadding | 设置滑块内文字的间隔 |
android:switchTextAppearance | 设置开关的文字外观 |
android:textOff | 按钮没有被选中时显示的文字 |
android:textOn | 按钮被选中时显示的文字 |
android:textStyle | 文字风格,粗体,斜体写划线那些 |
android:track | 底部的图片 |
android:thumb | 滑块的图片 |
android:typeface | 设置字体,默认支持这三种:sans, serif, monospace除此以外还可以使用 其他字体文件(*.ttf) |
ProgressBar(进度条)
ProgressBar属性
属性名 | 说明 |
---|---|
android:max | 进度条的最大值 |
android:progress | 进度条已完成进度值 |
android:progressDrawable | 设置轨道对应的Drawable对象 |
android:indeterminate | 如果设置成true,则进度条不精确显示进度 |
android:indeterminateDrawable | 设置不显示进度的进度条的Drawable对象 |
android:indeterminateDuration | 设置不精确显示进度的持续时间 |
android:secondaryProgress | 二级进度条,类似于视频播放的一条是当前播放进度,一条是 缓冲进度,前者通过progress属性进行设置 |
ProgressBar代码联系
getMax()
:返回这个进度条的范围的上限
getProgress()
:返回进度
getSecondaryProgress()
:返回次要进度
incrementProgressBy(int diff)
:指定增加的进度
isIndeterminate()
:指示进度条是否在不确定模式下
setIndeterminate(boolean indeterminate)
:设置不确定模式下
SeekBar(拖动条)
SeekBar属性
属性名 | 功能 |
---|---|
android:max=“100” | 滑动条的最大值 |
android:progress=“60” | 滑动条的当前值 |
android:secondaryProgress=“70” | 二级滑动条的进度 |
android:thumb = “@mipmap/sb_icon” | 滑块的drawable |
SeekBar代码联系
onProgressChanged
:进度发生改变时会触发
onStartTrackingTouch
:按住SeekBar时会触发
onStopTrackingTouch
:放开SeekBar时触发
ScrollView(滚动条)
ScrollView属性
属性名 | 功能 |
---|---|
android:scrollbars=“none” | 隐藏滑块 |
ScrollView代码联系
scrollView.fullScroll(ScrollView.FOCUS_DOWN)
:滚动到底部
scrollView.fullScroll(ScrollView.FOCUS_UP)
:滚动到顶部