TextView及其子类的使用

Author Avatar
罗炜光 7月 26, 2016
  • 在其它设备中阅读本文章

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表示秒