Android Widget:TextView
TextView使用详解
TextView有众多属性和子类,家大业大,人丁兴旺,有必要了解清楚
TextView的出身
java.lang.Object
↳ android.view.View
↳ android,widget.TextView
TextView
直接子类
Button, CheckedTextView, Chronometer, DigitalClock, EditText, TextClock
间接子类
AutoCompleteTextView, CheckBox, CompoundButton, ExtractEditText, MultiAutoCompleteTextView, RadioButton, Switch, ToggleButton
属性简介
android:autoLink 控制是否自动查找网址和电子邮件地址等链接并将其转换为可点击链接
android:autoSizeTextType 指定自动大小的类型
android:autoSizeMaxTextSize 自动调整文本大小时的最大文本尺寸
android:autoSizePresetSizes 要与autoSizeTextTypeset 一起使用的维度的资源数组 uniform
android:autoSizeStepGranularity 如果autoSizeTextType设置为,请指定自动调整大小步长uniform
android:autoText 如果设置,则指定此TextView具有文本输入方法并自动更正一些常见的拼写错误
android:breakStrategy 中断策略(控制段落布局)
android:bufferType 确定getText()将返回的最小类型
android:cursorVisible 使光标可见(默认)或不可见
android:capitalize 如果设置,则指定此TextView具有文本输入方法,并应自动将用户键入的内容大写
android:digits 如果设置,则指定此TextView具有数字输入方法,并且这些特定字符是它将接受的字符
android:drawableRight 设置要绘制在文本右侧的drawable
android:drawableStart 设置要绘制到文本开头的drawable
android:drawableTint 色彩适用于化合物(左,上等)可绘制的
android:drawableTintMode 混合模式用于施加化合物(左,顶等)可绘制色调。
android:editable 如果设置,则指定此TextView具有输入方法
android:editorExtras 引用<input-extras> 包含要提供给输入方法的附加数据的 XML资源,该输入方法对输入方法的实现是私有的
android:elegantTextHeight 优雅的文本高度,尤其适用于压缩较少的复杂脚本文本
android:ellipsize 如果设置,则导致比视图宽的单词被椭圆化而不是在中间断开
android:ems 使TextView宽度设为若干字符的宽度 layout_width为match_parent时失效
android:fallbackLineSpacing 是否尊重用于显示文本的后备字体的上升和下降
android:firstBaselineToTopHeight 从TextView顶部到第一个文本基线的距离
android:fontFamily 文本系列(由字符串命名或作为字体资源引用)
android:fontFeatureSettings 字体功能设置
android:freezesText 如果设置,除了元数据(如当前光标位置)之外,文本视图还将在其冻结冰柱内包含其当前完整文本
android:gravity 指定当文本小于视图时,如何通过视图的x轴和/或y轴对齐文本
android:height 设置TextView的高度
android:hint 提示文本为空时显示的文本
android:hyphenationFrequency 自动连字的频率
android:imeActionId 提供 输入法连接到文本视图时使用的值EditorInfo.actionId
android:imeActionLabel 提供 输入法连接到文本视图时使用的值EditorInfo.actionLabel
android:imeOptions 您可以在与编辑器关联的IME中启用的其他功能,以改善与应用程序的集成
android:includeFontPadding 为上升器和下降器留出足够的空间,而不是严格使用字体上升和下降
android:inputMethod 如果设置,则指定此TextView应使用指定的输入方法(由完全限定的类名指定)
android:inputType 放置在文本字段中的数据类型,用于帮助输入方法决定如何让用户输入文本
android:justificationMode 理由模式
android:lastBaselineToBottomHeight 从TextView底部到最后一个文本基线的距离
android:letterSpacing 文字字母间距
android:lineHeight 文本行之间的显式高度
android:lineSpacingExtra 文本行之间的额外间距
android:lineSpacingMultiplier 文本行之间的额外间距,作为乘数
android:lines 设置TextView的行数
android:linksClickable 如果设置为false,即使autoLink导致找到链接,也不会将移动方法设置为链接移动方法
android:marqueeRepeatLimit 重复选框动画的次数
android:maxHeight 使TextView最多只有这么多像素高。
android:maxLength 设置输入过滤器以将文本长度约束为指定的数字。
android:maxLines 使TextView最多这么多行
android:numeric 如果设置,则指定此TextView具有数字输入方法
android:password 字段的字符是否显示为密码样式
android:phoneNumber 如果设置,则指定此TextView具有电话号码输入方法
android:privateImeOptions 附加内容类型描述,提供给附加到文本视图的输入方法,该输入方法对输入方法的实现是私有的
android:scrollHorizontally 是否允许文本比视图宽(因此可以水平滚动)
android:selectAllOnFocus 如果文本是可选的,请在视图获得焦点时全部选择
android:shadowColor 在文本下方放置模糊的文本阴影,使用指定的颜色绘制
android:shadowDx 文本阴影的水平偏移
android:shadowRadius 模糊文本阴影的半径
android:singleLine 将文本约束为单个水平滚动线,而不是让它换行到多行,并在按Enter键时前进焦点而不是插入换行符
android:text 要显示的文本
android:textAllCaps 在全部大写中显示文本
android:textAppearance 基本文本颜色,字体,大小和样式
android:textColor 文字颜色
android:textColorHighlight 文本选择的颜色突出显示
android:textColorHint 提示文字的颜色
android:textColorLink 链接的文字颜色
android:textIsSelectable 表示可以选择不可编辑文本的内容
android:textScaleX 设置文本的水平缩放系数
android:textSize 文字大小
android:textStyle 文本的样式(正常,粗体,斜体,粗体|斜体)
android:typeface 文本的字体(普通,无衬线,衬线,等宽字体)
android:width 设置TextView的宽度
TextView的跑马灯效果
android:ellipsize="marquee" 跑马灯效果
android:focusable="true" 右焦点的
android:focusableInTouchMode="true" 无滚动球设备的必要条件
android:marqueeRepeatLimit="marquee_forever" 设置重复效果
android:singleLine="true" 单行
可以通过设置elipsize来控制跑马灯效果的开启和关闭
一些属性和用法
- android:ellipsize
内容过长时,可以加省略号
android:ellipsize = “none” 默认值,没有省略号
android:ellipsize = “end” 省略号在结尾
android:ellipsize = “start” 省略号在开头
android:ellipsize = “middle” 省略号在中间
android:ellipsize = “marquee” 跑马灯
限制行数,否则省略号不起作用 - android:autoLink 或调用 setAutoLinkMask(int )方法
文本字符串包含有网址、邮箱、电话号码或地址时,设置是否可以点击进行相应的跳转到对应的页面,以及进行哪些匹配
其中 " | " 表示或
内容 | 数值 | 描述 |
---|---|---|
none | 0x00 | 均不匹配 (default) |
web | 0x01 | 匹配网址链接 |
0x02 | 匹配email地址 | |
phone | 0x04 | 匹配电话号码 |
map | 0x08 | 匹配地图地址 |
all | 0x0f | 匹配所有(equivalent to web | email | phone | map) |
- TextView支持HTML格式显示
String html_string = "风吹树林树林唯有弃掉<font color=yellow>黄</font><br/>其实过得很<font color=pink>快乐</font>";
text_view.setText(Html.fromHtml(html_string));
- 支持参数
strings.xml字符串中带参数
<string name="text">年仅%1$d的中心是个%2$s</string>
text_view_5.setText(getString(R.string.text, "沙雕",20));
年仅20的中心是个沙雕
//%1$d 1表示第一个参数,d表示为数字
//%2$s 2表示第二个参数,s表示为字符串
- android:drawableTop表示是textView上部分显示图片
以此类推 很多图片加文字的组合并非是ImageView + TextView 而仅仅使用了TextView实现的
2018/8/13