TextView及其子类的使用
TextView及其子类的类图
TextView
TextView常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:autoLink | setAutoLinkMask(int) | 是否将符合指定格式的文本转换为可单击的超链接形式 |
android:drawableBottom | setCompoundDrawablesWithIntrinsicBounds() | 在文本的底部绘制指定图像 |
android:drawableLeft | setCompoundDrawablesWithIntrinsicBounds() | 在文本的左侧绘制指定图像 |
android:drawableRight | setCompoundDrawablesWithIntrinsicBounds() | 在文本的右侧绘制指定图像 |
android:drawableTop | setCompoundDrawablesWithIntrinsicBounds() | 在文本的顶部绘制指定图像 |
android:ellipsize | setEllipsize() | 设置当显示的文本超过TextView的长度时如何处理 |
android:gravity | setGravity() | 设置文本位置 |
android:lines | setLines() | 设置文本的行数 |
android:marqueeRepeatLimit | setMarqueeRepeatLimit() | 设置marquee动画重复的次数 |
android:maxLines | setMaxLines() | 设置该最大行数 |
android:singleLine | setTransformationMethod() | 设置该文本是否为单行模式 |
android:textColor | setTextColor() | 设置文本颜色 |
android:textSize | setTextSize() | 设置文本字体大小 |
android:textStyle | setTypeface() | 设置文本框内字体风格,如粗体,斜体 |
TextView注意事项
- 用Html类的fromHtml()方法格式化要放到TextView里的文字。(比如实现下划线)
- 用Spannable或实现它的类,如
·SpannableString
。 - 文本末尾显示省略号:
android:ellipsize="end"
- 实现跑马灯效果
android:singleLine="true" android:focusableInTouchMode="true" android:focusable="true" android:marqueeRepeatLimit="marquee_forever"
- 让跑马灯再次获得焦点
android:clickable="true"
Button
Button常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:clickable | setClickable() | 控件能否点击 |
android:enabled | setEnabled() | 控件能否活动 |
android:textAllCaps | setAllCaps() | 文本是否大写 |
Button注意事项
- Clickable为false无效 setOnClickListener事件会把setClickable设为true,所以要在setOnClickListener后调用才有效
- 默认高度问题 Button默认设置了最小高度,所以,在使用自定义backgroud属性时,当paddingTop和paddingBottom设置的值小于这个默认最小高度时,paddingTop和paddingBottom的设置是无效的,此时,解决办法如下,设置minHeight为0:
android:minHeight="0dp"
- 系统自带阴影问题 在5.0及更高版本系统中,Button等部分控件会自带边界阴影效果,可通过如下属性设置取消默认样式:
style="?android:attr/borderlessButtonStyle"
- Android Studio下Button的android:textAllCaps默认为true,所以显示的字母为大写,设置为false即可
CheckBox
CheckBox常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:checked | setChecked() | 设置是否选中状态 |
android:button | setButtonDrawable() | 设置选中框图片 |
CheckBox注意事项
- 去除选中框
android:button="@null"
RadioButton
RadioButton常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:checked | setChecked() | 设置是否选中状态 |
android:button | setButtonDrawable() | 设置选中框图片 |
RadioButton注意事项
- 去除选中框
android:button="@null"
- 不是单选效果 造成原因是未给RadioButton设置id属性
Switch
Switch常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:checked | setChecked() | 设置是否选中状态 |
android:thumb | setThumbResource() | 设置滑块图片 |
android:track | setTrackResource() | 设置背景图片 |
android:textOff | setTextOff() | 当状态关闭时的文本 |
android:textOn | setTextOn() | 当状态打开时的文本 |
android:switchMinWidth | setSwitchMinWidth() | 设置最小宽度 |
ToggleButton
ToggleButton常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:checked | setChecked() | 设置是否选中状态 |
android:textOff | setTextOff() | 当状态关闭时的文本 |
android:textOn | setTextOn() | 当状态打开时的文本 |
CheckedTextView
CheckedTextView常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:checked | setChecked() | 设置是否选中状态 |
android:checkMark | setCheckMarkDrawable() | 设置勾选图片 |
CheckedTextView注意事项
- 设置系统的勾选图片为
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
不设置将不会显示勾选图片
Chronometer
Chronometer常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:format | setFormat() | 设置格式化字符串 |
Chronometer常见方法
- getBase() 返回先前由setBase(long)设置的基准时间。
- setBase (long base) 设置基准时间
- start() 开始计时,只是视图上的改变,不会影响基准时间
- stop() 停止计时,只是视图上的不变,不会调整基准时间
Chronometer注意事项
- Chronometer的时间为当前时间减去基准时间
- 设置
setBase(SystemClock.elapsedRealtime()
开始重新计时
EditText
EditText常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:cursorVisible | setCursorVisible() | 设置光标是否可见 |
android:digits | setKeyListener() | 限制使用什么字符 |
android:drawableBottom | setCompoundDrawablesWithIntrinsicBounds() | 在文本的底部绘制指定图像 |
android:drawableLeft | setCompoundDrawablesWithIntrinsicBounds() | 在文本的左侧绘制指定图像 |
android:drawableRight | setCompoundDrawablesWithIntrinsicBounds() | 在文本的右侧绘制指定图像 |
android:drawableTop | setCompoundDrawablesWithIntrinsicBounds() | 在文本的顶部绘制指定图像 |
android:ellipsize | setEllipsize() | 设置当显示的文本超过TextView的长度时如何处理 |
android:enabled | setEnabled() | 设置是否可编辑 |
android:hint | setHint() | 文本为空时的提示文本 |
android:imeOptions | setImeOptions() | 设置软键盘回车键特殊功能 |
android:inputType | setRawInputType() | 设置文本框类型 |
android:lines | setLines() | 设置文本的行数 |
android:selectAllOnFocus | setSelectAllOnFocus | 当获得焦点时自动选择全部文本 |
android:singleLine | setTransformationMethod() | 设置该文本是否为单行模式 |
android:textCursorDrawable | 修改光标图片 |
EditText注意事项
- 当设置了某些文本框类型后会导致设置singleLine无效
- 修改光标位置
setSelection()
android:textCursorDrawable
使用color无效
AutoCompleteTextView
AutoCompleteTextView常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:completionHint | setCompletionHint() | 设置下拉菜单的提示标题 |
android:completionThreshold | setThreshold() | 用户输入多少个字符时会提示 |
android:dropDownHeight | setDropDownHeight | 设置下拉菜单高度 |
android:dropDownWidth | setDropDownWidth | 设置下拉菜单宽度 |
MultiAutoCompleteTextView
MultiAutoCompleteTextView常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:completionHint | setCompletionHint() | 设置下拉菜单的提示标题 |
android:completionThreshold | setThreshold() | 用户输入多少个字符时会提示 |
android:dropDownHeight | setDropDownHeight | 设置下拉菜单高度 |
android:dropDownWidth | setDropDownWidth | 设置下拉菜单宽度 |
MultiAutoCompleteTextView注意事项
- 使用
setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
指定分隔符号,不指定分隔符号将不会有提示
TextClock
TextClock常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:format12Hour | setFormat12Hour() | 设置12时制格式 |
android:format24Hour | setFormat24Hour() | 设置24时制格式 |
TextClock注意事项
- yy用两位数表示年份,yyyy用四位数表示年份
- MMM用英语月份的缩写表示,MMMM用英语月份的完整形式
- EE为星期的缩写形式,EEEE为星期的完整形式
- dd表示此月的第几天
- aa表示上午还是下午
- H表示24小时制的小时,h表示12时制的小时
- MM或mm表示分钟
- ss表示秒