API 25 (Android 7.1.1 API) widget.TextView——属性分析

本文详细介绍了Android API 25(7.1.1版)中TextView组件的XML属性,包括autoLink、autoText、breakStrategy、bufferType等,涵盖了文本显示、编辑、格式化等多个方面,旨在帮助开发者更好地理解和使用TextView。
摘要由CSDN通过智能技术生成
Android API 25 (Android 7.1.1)


TextView

public class TextView

extends View implements ViewTreeObserver.OnPreDrawListener

Added in API level 1

 

java.lang.Object

   ↳android.view.View

    ↳android.widget.TextView

 

已知直接子类

AppCompatTextView

Button

CheckedTextView

Chronometer

DigitalClock

EditText

RowHeaderView

TextClock

 

【概述】

向用户显示文本,并且可以允许他们编辑它。 TextView是一个完整的文本编辑器,但是基本类被配置为不允许编辑;对于配置文本视图进行编辑的子类,请参阅EditText

要允许用户复制一些或全部TextView的值并将其粘贴到其他地方,请将XML属性androidtextIsSelectable设置为“true”或调用setTextIsSelectabletrue)。textIsSelectable标志允许用户在TextView中进行选择手势,从而触发系统的内置复制/粘贴控件。

备注:

使用<TextView>来输入文本通常是一个错误,您应该使用<EditText>EditTextTextView的一个子类,一些编辑支持由TextView提供,因此可以在TextView上设置一些与输入相关的属性。 但是,使用TextView和输入属性通常是剪切和粘贴错误。 要输入文本,您应该使用<EditText>。 这个检查也检查TextView的子类,如ButtonCheckBox,因为它们有相同的问题:它们不应该与可编辑的属性一起使用。

 

【嵌套类】

枚举    TextView.BufferType

 

接口    TextView.OnEditorActionListener

在编辑器上执行操作时要调用的回调的接口定义。

类      TextView.SavedState

TextView存储的用于实现onSaveInstanceState()的用户界面状态。

 

【XML属性】


android:  autoLink

API 1

关联方法:setAutoLinkMask(int mask)

属性说明: 设置是否显示为超链接(none/web/email/phone/map/all) 默认为none

必须是以下常量之一:

none  不匹配。默认值。

web   匹配URL地址,单击使用浏览器打开

email 匹配邮箱地址,单击发送邮件

phone 匹配电话号码,单击拨打电话

map   匹配地图地址,单击使用google地图打开,支持英文

all   匹配上述四种格式

对应的全局属性资源符号是autoLink

 

TextView的内容既包含汉字又包含网址。如要想成功实践超链接功能,就必须在汉字后添加空格或者换行,否则地址就是此TextView的所有内容。

 

HTML解析超链接:通过Spanned对象设置text,而通过HTMLformHTML来获取Spanned对象

textView.setText(Html.fromHtml("百度:<a href='http://www.baidu.com'>http://www.baidu.com</a>

<h1><i><font color='#000FFF'>h1号字 斜体 蓝色</font></i>"));

 



android:  autoText

API 1

关联方法:setKeyListener(KeyListener input)

属性说明: 如果true,指定此TextView有一个文本输入法,并自动纠正一些常见的拼写错误。默认false

必须是布尔值(boolean),true”或“false”。

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应的全局属性资源符号是autoText

 

全局属性autoTextAPI 3被弃用,使用inputType代替。

AndroidautoText不应使用在TextView,应使用在EditView

 



android:  breakStrategy

API 23

关联方法:setBreakStrategy(int breakStrategy)

属性说明:打破策略(控制段落布局)。

必须是以下常量之一:

simple        0

high_quality  高质量,包括连字

balanced      段落长度平衡

对应的全局属性资源符号是breakStrategy

 



android:  bufferType

API 1

关联方法:setText(CharSequence,TextView.BufferType)

属性说明:设置getText()将返回的最小类型。 默认值为“normal”。 注意,EditTextLogTextBox总是返回Editable,即使你在这里指定的功能更强大。

必须是以下常量之一:

normal     默认。

editable   类似于StringBuilder可追加字符,getText后可调用append方法设置文本内容。

spannable  则可在给定的字符区域使用样式

对应的全局属性资源符号是bufferType

 

有意思的是 Editable继承了Spannable所以具备较多的功能。

注意,EditTextLogTextBox总是返回Editable,即使你在这里指定的功能更强大

 



android:  capitalize

API 1

关联方法:setKeyListener(KeyListener input)

属性说明:设置英文字母大写类型

必须是以下常量之一:

none       不转换默认值。

sentences  每一个句子首字母大写

words      每一个单词首字母大写

characters 每一个英文字母都大写

对应的全局属性资源符号是bufferType

 

全局属性capitalizeAPI 3被弃用,使用inputType代替。

Androidcapitalize不应使用在TextView,应使用在EditView

 



android:  cursorVisible

API 1

关联方法:setCursorVisible(boolean visible)

属性说明:设定光标为显示/隐藏,默认显示。如果设置false,即使选中了也不显示光标栏。

必须是布尔值(boolean),true”或“false”。

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应的全局属性资源符号是cursorVisible

 

AndroidcursorVisible不应使用在TextView,应使用在EditView

设置EditText光标在右边,输入内容从右往左。Androidgravity=right/end

 



android:  digits

API 1

关联方法:setKeyListener(KeyListener input)

属性说明:设置允许输入哪些字符。如1234567890.+-*/% ()0123456789xyzXYZ。常用于密码验证。

必须是字符串值(string),使用'\\;'以转义Unicode字符的字符,如'\\ n''\\ uxxxx'

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应的全局属性资源符号是digits

 

Androiddigits不应使用在TextView,应使用在EditView

 



android:  drawablePadding

API 1

关联方法:setCompoundDrawablePadding(int pad)

属性说明:设置文本框内文本与图像之间的间距,与drawableLeftdrawableRightdrawableTopdrawableBottom一起使用,可设置为负数,单独使用没有效果。

必须是带单位的浮点型尺寸值float,如:14.5sp”。有效的单位包括:px(像素)dp(密度无关像素)sp(通常用于字体尺寸的可伸缩像素)in(英寸)mm(毫米)

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应的全局属性资源符号是drawablePadding

 



android:  drawableTop

API 1

关联方法:setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom)

属性说明:在文本框顶部绘制指定图像。


android:  drawableBottom

API 1

关联方法:setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom)

属性说明:在文本框底部绘制指定图像。


android:  drawableLeft

API 1

关联方法:setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom)

属性说明:在文本框左边绘制指定图像。


android:  drawableRight

API 1

关联方法:setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom)

属性说明:在文本框右边绘制指定图像。


android:  drawableStart

API 14

关联方法:setCompoundDrawablesRelativeWithIntrinsicBounds(int start,int top,int end,int bottom)

属性说明:在文本框开始处绘制指定图像。


android:  drawableEnd

API 14

关联方法:setCompoundDrawablesRelativeWithIntrinsicBounds(int start,int top,int end,int bottom)

属性说明:在文本框结尾处绘制指定图像。

 

必须引用另一个资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name

可以是颜色值(color),格式#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。

对应的全局属性资源符号是drawableTopdrawableBottomdrawableLeftdrawableRightdrawableStartdrawableEnd

 

setCompoundDrawables(Drawable left,Drawable top,Drawable right,Drawable bottom)                 API 1

setCompoundDrawablesRelative(Drawablestart,Drawable top,Drawableend,Drawable bottom)                 API 17

Drawable必须已经调用了setBounds(Rect)

setCompoundDrawablesWithIntrinsicBounds(Drawable left,Drawable top,Drawable right,Drawable bottom) API 1

setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom)                                API 3

setCompoundDrawablesRelativeWithIntrinsicBounds(Drawablestart,Drawable top,Drawableend,Drawable bottom) API 17

setCompoundDrawablesRelativeWithIntrinsicBounds(intstart,int top,intend,int bottom)                     API 17

Drawable的边界将被设置为他们的内在边界。

 



android:  drawableTint

API 23

关联方法:setCompoundDrawableTintList(ColorStateList tint)

属性说明:设置文本图像的色调

可以是一个颜色值(color),格式#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。

还可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。

它对应的全局资源符号drawableTint

 



android:  drawableTintMode

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值