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 匹配网址链接
email 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

posted @ 2018-08-13 21:33  kafm  阅读(264)  评论(0编辑  收藏  举报