TextView与EditText详解
TextView 顾名思义:就是在界面上呈现文本信息,主要用于显示,没有特殊的事件响应。然而EditText与TexView非常相似,EditText就是多了一个可以让用户输入内容的编辑框功能。 大家可以把EditText看作是编辑内容的那个框,TextView是用于显示文本内容的框。 其实就是这么简单。然而EditText是TextView的子类。接下来就是TextView和EditText的全部XML属性如下。不过在此之前,要先解释一个属性margin和padding
margin和padding如下图所示:
margin是子容器相距父容器边框的距离,而padding是子容器中的内容距离子容器边框的距离。那么margin_left和margin_right、padding_left和padding_right之类的属性就很好理解了。比如margin_left就是子容器距离父容器左边这一边的偏移距离,其他什么right、top、bottom都是这个意思。好了理解了这两个属性之后,我们来看看官网对TextView的属性介绍: 经常用的用红色显示
XML Attributes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
android:autoLink | setAutoLinkMask(int) | 是否将符合指定格式的文本转化为可点击的超链接形式,比如(网址,电话等) | |||||||||
android:autoText | setKeyListener(KeyListener) | 是否将URL、E-mail地址等链接自动转换为可单击的链接 | |||||||||
android:breakStrategy | setBreakStrategy(int) | Break strategy (control over paragraph layout). | |||||||||
android:bufferType | setText(CharSequence,TextView.BufferType) | Determines the minimum type that getText() will return. | |||||||||
android:capitalize | setKeyListener(KeyListener) | 控制是否将用户输入的文本转化为大写字母,支持一下属性值: none:不转换 sentences:每个句子的首字母大写 words:每个单词的首字母大写 characters:每个字母都大写 | |||||||||
android:cursorVisible | setCursorVisible(boolean) | 设置该文本框的光标是否可见 | |||||||||
android:digits | setKeyListener(KeyListener) | 如果设置为true,则该文本框对应一个数字输入方法,并且只接受那些合法字符 | |||||||||
android:drawableBottom | setCompoundDrawablesWithIntrinsicBounds(int,int,int,int) | 在文本框底部绘制指定图像 | |||||||||
android:drawableEnd | setCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int) | 在文本框的结尾处绘制指定图像 | |||||||||
android:drawableLeft | setCompoundDrawablesWithIntrinsicBounds(int,int,int,int) | 在文本框的左边绘制指定的图像 | |||||||||
android:drawablePadding | setCompoundDrawablePadding(int) | 设置文本框内文本与图像之间的间距 | |||||||||
android:drawableRight | setCompoundDrawablesWithIntrinsicBounds(int,int,int,int) | 在文本框的右边绘制指定的图像 | |||||||||
android:drawableStart | setCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int) | 在文本框的开始处绘制绘制指定的图像 | |||||||||
android:drawableTint | setCompoundDrawableTintList(ColorStateList) | 为文本的图像指定颜色 | |||||||||
android:drawableTintMode | setCompoundDrawableTintMode(PorterDuff.Mode) | 混合模式用于调节文本图像的颜色,如(颜色渐变之类的) | |||||||||
android:drawableTop | setCompoundDrawablesWithIntrinsicBounds(int,int,int,int) | 在文本框的顶部绘制指定的图像 | |||||||||
android:editable | 设置文本框是否允许编辑 | ||||||||||
android:editorExtras | setInputExtras(int) | 参考一个包含额外的<input-extras> XML资源用给输入法,这是私人对输入方法的执行。 | |||||||||
android:elegantTextHeight | setElegantTextHeight(boolean) | 优雅的文字高度,特别是对于不那么复杂的文字文字。 | |||||||||
android:ellipsize | setEllipsize(TextUtils.TruncateAt) | 设置显示文本超过了TextView的长度时如何处理文本内容,有以下属性值: none:不做任何处理 start:在文本开始处截断,并显示省略号 middle:在文本中间处截断,并显示省略号 end:在文本结尾处截断,并显示省略号 marquee:使用marquee滚动动画显示文本( 跑马灯效果 ) | |||||||||
android:ems | setEms(int) | 设置该组件的宽度,以em为单位 | |||||||||
android:fontFamily | setTypeface(Typeface) | 设置文本框内文本的字体 | |||||||||
android:fontFeatureSettings | setFontFeatureSettings(String) | Font feature settings. 设置文本字体特征 | |||||||||
android:freezesText | setFreezesText(boolean) | 如果设置,文本视图将包括目前的完整文本在冰冻的冰除了元数据,如当前光标位置。 | |||||||||
android:gravity | setGravity(int) | 设置文本框内文本的对齐方式,一般center用的多 | |||||||||
android:height | setHeight(int) | 设置文本框的高度,以px为单位 | |||||||||
android:hint | setHint(int) | 设置当文本框内的内容为空时,文本框内默认显示的提示文本 | |||||||||
android:hyphenationFrequency | setHyphenationFrequency(int) | 自动断字频率。 | |||||||||
android:imeActionId | setImeActionLabel(CharSequence,int) | 当文本框指定特定的输入法时,为输入法指定额外的EditorInfo.actionId 值 | |||||||||
android:imeActionLabel | setImeActionLabel(CharSequence,int) | 当文本框指定特定的输入法时,为输入法指定额外的EditorInfo.actionLabel值 | |||||||||
android:imeOptions | setImeOptions(int) | 当文本框指定特定的输入法时,为输入法指定额外的选项 | |||||||||
android:includeFontPadding | setIncludeFontPadding(boolean) | 设置是否为字体保留足够多的空间,默认值为 true | |||||||||
android:inputMethod | setKeyListener(KeyListener) | 为文本框指定特定的输入法,该属性值为输入法的权限定类名 | |||||||||
android:inputType | setRawInputType(int) | 设置文本字中的数据类型(比如手机号 密码之类的) | |||||||||
android:letterSpacing | setLetterSpacing(float) | Text letter-spacing. 文字字母间距 | |||||||||
android:lineSpacingExtra | setLineSpacing(float,float) | 控制两行文本之间的额外间距,与android:lineSpacingMultiplier属性结合使用 | |||||||||
android:lineSpacingMultiplier | setLineSpacing(float,float) | 控制两行文本之间的额外间距,每行的高度*该属性值+android:lineSpacingExtra属性值 | |||||||||
android:lines | setLines(int) | 设置该文本框默认占用几行 | |||||||||
android:linksClickable | setLinksClickable(boolean) | 控制该文本框的URL、E-mail等链接是否可用 | |||||||||
android:marqueeRepeatLimit | setMarqueeRepeatLimit(int) | 设置marquee动画重复的次数 | |||||||||
android:maxEms | setMaxEms(int) | 指定文本框的最大宽度 | |||||||||
android:maxHeight | setMaxHeight(int) | 指定文本框的醉倒高度 | |||||||||
android:maxLength | setFilters(InputFilter) | 设置文本框的最大字符长度 | |||||||||
android:maxLines | setMaxLines(int) | 设置文本框最多占用几行 | |||||||||
android:maxWidth | setMaxWidth(int) | 设置文本框的最大宽度(以px单位) | |||||||||
android:minEms | setMinEms(int) | 设置文本框的最小宽度(以em单位) | |||||||||
android:minHeight | setMinHeight(int) | 设置文本框的最小高度(以px单位) | |||||||||
android:minLines | setMinLines(int) | 设为文本框最少占用几行 | |||||||||
android:minWidth | setMinWidth(int) | 设置文本框的最大宽度(以px单位) | |||||||||
android:numeric | setKeyListener(KeyListener) | 设置该文本框关联的输入法,有以下属性值: integer:指定关联整数输入法 signed:允许输入符号的数值输入法 decimal:允许输入小数点的数值输入法 | |||||||||
android:password | setTransformationMethod(TransformationMethod) | 设置文本框为一个密码框(以 * 代替字符) | |||||||||
android:phoneNumber | setKeyListener(KeyListener) | 设置文本框为只能接受电话号码 | |||||||||
android:privateImeOptions | setPrivateImeOptions(String) | ||||||||||
android:scrollHorizontally | setHorizontallyScrolling(boolean) | ||||||||||
android:selectAllOnFocus | setSelectAllOnFocus(boolean) | 设置文本框的内容可选择时,是否在获得焦点时整个文本的内容都被选中 | |||||||||
android:shadowColor | setShadowLayer(float,float,float,int) | 设置文本框中文本的阴影颜色 | |||||||||
android:shadowDx | setShadowLayer(float,float,float,int) | 设置文本框内的文本的阴影在水平方向的偏移量 | |||||||||
android:shadowDy | setShadowLayer(float,float,float,int)设置文本框内的文本的阴影在水平方向的偏移量 | ||||||||||
android:shadowRadius | setShadowLayer(float,float,float,int) | 设置文本框中文本阴影的模糊程度,值越大越模糊 | |||||||||
android:singleLine | setTransformationMethod(TransformationMethod) | 设置文本框中文本是否不换行,设置为true,则不换行,为单行 | |||||||||
android:text | setText(CharSequence,TextView.BufferType) | 设置文本框中文本显示的内容 | |||||||||
android:textAllCaps | setAllCaps(boolean) | 设置是否将文本框中的文本的所有字母显示为大写字母 | |||||||||
android:textAppearance | setTextAppearance(int) | 设为文本框的颜色、字体、大小等样式 | |||||||||
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) | 设置文本框中文本的字体风格,如 粗体、斜体 | |||||||||
android:typeface | setTypeface(Typeface) | 设置文本框内文本的字体风格 | |||||||||
android:width | setWidth(int) | 设置该文本框的宽度 |