TextView的XML属性说明全析
(注:以下内容是根据Android API开发文档翻译总结得出的。)
1.TextView类关系结构
如图:
2.TextView 的XML 属性
属性 ----> 相应方法 ----> 作用详解
android:autoLink ----> setAutoLinkMask(int) ----> 可选值:none/web/email/phone/map/all,设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。 (简述:文本可被点击)
android:autoText ----> setKeyListener(KeyListener) ----> 如果设置,指定该TextView文本输入法,并自动纠正一些常见的拼写错误。。(只在显示输入法并输入的时候起作用。)
android:bufferType ----> setText(CharSequence,TextView.BufferType) ----> 指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式。(简述:设置文本类别,StringBuilder)
android:capitalize ----> setKeyListener(KeyListener) ----> 指定该TextView文本输入法。(设置英文字母大写类型,弹出输入法时才能看到效果。)
android:cursorVisible ----> setCursorVisible(boolean) ----> 设置光标 显示/隐藏,默认显示。
android:digits ----> setKeyListener(KeyListener) ----> 设置允许输入哪些字符。eg:“1234567890.+-*/%”
android:drawableBottom ----> setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable) ----> 在text文本下方绘制一个drawable,eg:图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
android:drawableLeft ----> setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable) ----> 在text文本左侧绘制一个drawable。
android:drawablePadding ----> setCompoundDrawablePadding(int) ----> 设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
android:drawableRight ----> setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable) ----> 在text的右边输出一个drawable,如图片。
android:drawableTop ----> setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable) ----> 在text的正上方输出一个drawable,如图片。
android:editable ----> (无) ----> 如果设置,指定该TextView输入法。
android:editorExtras ----> setInputExtras(int) ----> 引用一个< input-extras > XML资源包含额外的数据提供一个输入方法,这是私人的实现输入法。(设置文本的额外的输入数据。)
android:ellipsize ----> setEllipsize(TextUtils.TruncateAt) ----> 设置当文字过长时,该控件该如何显示。eg:”start”—–省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动)
android:marqueeRepeatLimit ----> setMarqueeRepeatLimit(int) ----> 在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为 marquee_forever时表示无限次。
android:ems ----> setEms(int) ----> eg:android:ems="5" 设置TextView的宽度为5个字符的宽度。当设置该属性后,控件显示的长度就为5个字符的长度,超出的部分将不显示。
android:freezesText ----> setFreezesText(boolean) ----> 设置保存文本的内容以及光标的位置。
android:gravity ----> setGravity(int) ----> 设置文本位置。eg:android:gravity="center",文本将居中显示。
android:height ----> setHeight(int) ----> 设置文本区域的高度,支持度量单位:px/dp/sp/in/mm
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动作与编辑框相关的动作。eg:actionDone 右下角将显示一个“完成”,而不设置默认是一个回车符号。一般应用在EditView中,此处无用。
android:includeFontPadding ----> setIncludeFontPadding(boolean) ----> 设置文本是否包含顶部和底部额外空白,默认为true。
android:inputMethod ----> setKeyListener(KeyListener) ----> 为文本指定输入法,需要完全限定名(完整的包名)。eg:com.google.android.inputmethod.pinyin(只是示例,此包名实际不一定能用)。
android:inputType ----> setRawInputType(int) ----> 设置文本的类型,用于帮助输入法显示合适的键盘类型。一般应用在EditView中,此处无用。
android:lineSpacingExtra ----> setLineSpacing(float,float) ----> 设置行间距。
android:lineSpacingMultiplier ----> setLineSpacing(float,float) ----> 设置行间距的倍数。eg:”1.5”
android:lines ----> setLines(int) ----> 设置文本的行数。设置两行就显示两行,即使第二行没有数据。
android:linksClickable ----> setLinksClickable(boolean) ----> 设置链接是否点击连接。不受autoLink设置的影响。
android:maxEms ----> setMaxEms(int) ----> 设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:maxHeight ----> setMaxHeight(int) ----> 设置文本区域的最大高度。
android:maxLength ----> setFilters(InputFilter) ----> 限制显示的文本长度,超出部分不显示。
android:maxLines ----> setMaxLines(int) ----> 设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。
android:maxWidth ----> setMaxWidth(int) ----> 设置文本区域的最大宽度。
android:minEms ----> setMinEms(int) ----> 设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:minHeight ----> setMinHeight(int) ----> 设置文本区域的最小高度。
android:minLines ----> setMinLines(int) ----> 设置文本的最小行数,与lines类似。
android:minWidth ----> setMinWidth(int) ----> 设置文本区域的最小宽度。
android:numeric ----> setKeyListener(KeyListener) ----> 如果设置,指定该TextView数字输入法。
android:password ----> setTransformationMethod(TransformationMethod) ----> 以 点”.” 的方式显示文本
android:phoneNumber ----> setKeyListener(KeyListener) ----> 设置为电话号码的显示方式。
android:privateImeOptions ----> setPrivateImeOptions(String) ----> 设置输入法选项。(添加内容类型描述提供输入方法附加到文本视图,这是私人的实现输入法。)
android:scrollHorizontally ----> setHorizontallyScrolling(boolean) ----> 设置文本超出TextView的宽度的情况下,是否出现横向滚动条。
android:selectAllOnFocus ----> setSelectAllOnFocus(boolean) ----> 如果文本是可选择的,让他获取焦点而不是将光标移动到文本的开始位置或者末尾位置。 TextView设置后无效果。
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) ----> 设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如果不设置singleLine或者设置为false,文本将自动换行。
android:text ----> setText(CharSequence) ----> 设置显示文本。
android:textColor ----> setTextColor(ColorStateList) ----> 设置文本颜色。
android:textAppearance ----> (无) ----> 设置文字外观。eg: “?android:attr/textAppearanceLargeInverse”这引用系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。
android:textColorHighlight ----> setHighlightColor(int) ----> 设置被选中文字的底色,默认为蓝色
android:textColorHint ----> setHintTextColor(int) ----> 设置提示信息文字的颜色,默认为灰色。与hint一起使用。
android:textColorLink ----> setLinkTextColor(int) ----> 设置文字链接的颜色。
android:textScaleX ----> setTextScaleX(float) ----> 设置文字之间间隔,默认为1.0f。
android:textSize ----> setTextSize(float) ----> 设置文字大小,推荐使用单位”sp”。
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) ----> 设置文本区域的宽度,支持度量单位:px/dp/sp/in/mm。
(注:width与layout_width 是有区别的。一个组件可以只有Layout _width ,layout_height。但却不能只有heigh ,width,而没有Layout _width ,layout_height,因为那样的组件会看不到。如果你要使用heigh ,width的话,就要先设置Layout _width ,layout_height,把heigh ,width用来作为组件的微调使用。)