Android学习笔记(17):文本框TextView类

时间:2022-12-08 21:48:33

TextView继承自View,用于显示文本。它有许多的子类,掌握其属性是很重要的。

 Android学习笔记(17):文本框TextView类

TextView支持的XML属性及相关方法

XML属性

相关方法

说明

android:autoLink

setAutoLinkMask(int)

设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)

android:autoText

setKeyListener(KeyListener)

如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用

android:bufferType

setText(CharSequence,TextView.BufferType)

指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,   也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式,参见这里1、这里2。

android:capitalize

setKeyListener(KeyListener)

设置英文字母大小写类型。可选值(none不转换/sentences句子首字母大写/words单词首字母大写/characters每个字母都大写)此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。

android:cursorVisible

setCursorVisible(boolean)

设定光标为显示/隐藏,默认显示。

android:digits

setKeyListener(KeyListener)

设置允许输入哪些字符。如“1234567890.+-*/%\n()”  

android:drawableBottom

setCompoundDrawablesWithIntrinsicBounds(int,int,int,int)

在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。  

android:drawableEnd

setCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int)

在text的结束处输出一个drawable

android:drawableLeft

setCompoundDrawablesWithIntrinsicBounds(int,int,int,int)

在text的左边输出一个drawable,如图片。

android:drawablePadding

setCompoundDrawablePadding(int)

设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。 

android:drawableRight

setCompoundDrawablesWithIntrinsicBounds(int,int,int,int)

在text的右边输出一个drawable,如图片。

android:drawableStart

setCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int)

在text开始处输出一个drawable,如图片。

android:drawableTop

setCompoundDrawablesWithIntrinsicBounds(int,int,int,int)

在text的正上方输出一个drawable,如图片。

android:editable

 

设置是否可编辑。这里无效果,参见EditView。 

android:editorExtras

setInputExtras(int)

设置文本的额外的输入数据。在EditView再讨论。

android:ellipsize

setEllipsize(TextUtils.TruncateAt)

设置当文字过长时,该控件该如何显示。有如下值设置:”start”—–省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动)  

 

android:ems

setEms(int)

设置该组件的宽度,以ms为单位

android:fontFamily

setTypeface(Typeface)

设置文本框内文本的字体

android:freezesText

setFreezesText(boolean)

设置保存文本的内容以及光标的位置

android:gravity

setGravity(int)

设置文本的对齐方式

android:height

setHeight(int)

设置文本看的高度,以px为单位

android:hint

setHint(int)

Text为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。此属性在EditView中使用,但是这里也可以用。 

android:imeActionId

setImeActionLabel(CharSequence,int)

设置IME动作ID。

android:imeActionLabel

setImeActionLabel(CharSequence,int)

设置IME动作标签

android:imeOptions

setImeOptions(int)

附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。这个在EditView中再详细说明,此处无用。  

android:includeFontPadding

setIncludeFontPadding(boolean)

设置文本是否包含顶部和底部额外空白,默认为true

android:inputMethod

setKeyListener(KeyListener)

为文本指定输入法,需要输入法的完全限定名(完整的包名)。

android:inputType

setRawInputType(int)

设置文本的类型,用于帮助输入法显示合适的键盘类型。

android:lineSpacingExtra

setLineSpacing(float,float)

设置行间距。

android:lineSpacingMultiplier

setLineSpacing(float,float)

设置行间距的倍数。

android:lines

setLines(int)

设置文本默认行数

android:linksClickable

setLinksClickable(boolean)

设置链接是否点击连接

android:marqueeRepeatLimit

setMarqueeRepeatLimit(int)

在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。  

 

android:maxEms

setMaxEms(int)

设置最大宽度(单位ms

android:maxHeight

setMaxHeight(int)

设置最大高度(单位pixel)

android:maxLength

setFilters(InputFilter)

设置最大字符长度

android:maxLines

setMaxLines(int)

设置文本框最多占几行

android:maxWidth

setMaxWidth(int)

设置最大宽度(单位pixel)

android:minEms

setMinEms(int)

设置最小宽度(单位ms

android:minHeight

setMinHeight(int)

设置最小高度(单位pixel)

android:minLines

setMinLines(int)

设置文本框最少占几行

android:minWidth

setMinWidth(int)

设置最小宽度(单位pixel)

android:numeric

setKeyListener(KeyListener)

设置关联的数字输入法,可选值(integer整数/signed带符号的数值/decimal带小数点的数值)

android:password

setTransformationMethod(TransformationMethod)

设置为密码框,以小点显示文本 

android:phoneNumber

setKeyListener(KeyListener)

设置只接受电话号码

android:privateImeOptions

setPrivateImeOptions(String)

设置关联的输入法的私有选项

android:scrollHorizontally

setHorizontallyScrolling(boolean)

设置文本超出TextView的宽度的情况下,是否出现滚动条。  

android:selectAllOnFocus

setSelectAllOnFocus(boolean)

如果文本是可选择的,设置是否获取焦点时自动选中所有文本。

android:shadowColor

setShadowLayer(float,float,float,int)

指定文本阴影的颜色,需要与shadowRadius一起使用。

android:shadowDx

setShadowLayer(float,float,float,int)

设置阴影横向坐标开始位置

android:shadowDy

setShadowLayer(float,float,float,int)

设置阴影纵向坐标开始位置

android:shadowRadius

setShadowLayer(float,float,float,int)

设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。 

android:singleLine

setTransformationMethod(TransformationMethod)

设置单行显示。设为true不换行。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。

android:text

setText(CharSequence,TextView.BufferType)

设置显示文本

android:textAllCaps

setAllCaps(boolean)

设置是否将所有字母显示为大写

android:textAppearance

 

设置文本外观:颜色、字体、大小等

android:textColor

setTextColor(int)

设置文本颜色

android:textColorHighlight

setHighlightColor(int)

设置文本被选中时的颜色

android:textColorHint

setHintTextColor(int)

设置提示文本的颜色

android:textColorLink

setLinkTextColor(int)

设置连接的颜色

android:textIsSelectable

isTextSelectable()

当文本框不可以被编辑时,设置文本是否可以被选中

android:textScaleX

setTextScaleX(float)

设置文字之间间隔

android:textSize

setTextSize(int,float)

设置文本字体大小

android:textStyle

setTypeface(Typeface)

设置字体风格[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开  

 

android:typeface

setTypeface(Typeface)

设置字体风格,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]   

 

android:width

setWidth(int)

设置文本区域的宽度(单位pixel