Android 原生控件之一 TextView

  • 前言
  • 来源
  • 开始
    • XML属性
      • 1、android:allowUndo
      • 2、android:autoLink
      • 3、android:autoSizeMaxTextSize
      • 4、android:autoSizeMinTextSize
      • 5、android:autoSizePresetSizes
      • 6、android:autoSizeStepGranularity
      • 7、android:autoSizeTextType
      • 8、android:autoText
      • 9、android:breakStrategy
      • 10、android:bufferType
      • 11、android:capitalize
      • 12、android:cursorVisible
      • 13、android:digits
      • 14、android:drawableBottom
      • 15、android:drawableEnd
      • 16、android:drawableLeft
      • 17、android:drawablePadding
      • 18、android:drawableRight
      • 19、android:drawableStart
      • 20、android:drawableTint
      • 21、android:drawableTintMode
      • 22、android:drawableTop
      • 23、android:editable
      • 24、android:editorExtras
      • 25、android:elegantTextHeight
      • 26、android:ellipsize
      • 27、android:ems
      • 28、android:enabled
      • 29、android:fallbackLineSpacing
      • 30、android:firstBaselineToTopHeight
      • 31、android:fontFamily
      • 32、android:fontFeatureSettings
      • 33、android:fontVariationSettings
      • 34、android:freezesText
      • 35、android:gravity
      • 36、android:height
      • 37、android:hint
      • 38、android:hyphenationFrequency
      • 39、android:imeActionId
      • 40、android:imeActionLabel
      • 41、android:imeOptions
      • 42、android:includeFontPadding
      • 43、android:inputMethod
      • 44、android:inputType
      • 45、android:justificationMode
      • 46、android:lastBaselineToBottomHeight
      • 47、android:letterSpacing
      • 48、android:lineHeight
      • 49、android:lineSpacingExtra
      • 50、android:lineSpacingMultiplier
      • 51、android:lines
      • 52、android:linksClickable
      • 53、android:marqueeRepeatLimit
      • 54、android:maxEms
      • 55、android:maxHeight
      • 56、android:maxLength
      • 57、android:maxLines
      • 58、android:maxWidth
      • 59、android:minEms
      • 60、android:minHeight
      • 61、android:minLines
      • 62、android:minWidth
      • 63、android:numeric
      • 64、android:password
      • 65、android:phoneNumber
      • 66、android:privateImeOptions
      • 67、android:scrollHorizontally
      • 68、android:selectAllOnFocus
      • 69、android:shadowColor
      • 70、android:shadowDx
      • 71、android:shadowDy
      • 72、android:shadowRadius
      • 73、android:singleLine
      • 74、android:text
      • 75、android:textAllCaps
      • 76、android:textAppearance
      • 77、android:textColor
      • 78、android:textColorHighlight
      • 79、android:textColorHint
      • 80、android:textColorLink
      • 81、android:textCursorDrawable
      • 82、android:textFontWeight
      • 83、android:textIsSelectable
      • 84、android:textScaleX
      • 85、android:textSelectHandle
      • 86、android:textSelectHandleLeft
      • 87、android:textSelectHandleRight
      • 88、android:textSize
      • 89、android:textStyle
      • 90、android:typeface
      • 91、android:width
  • 完事

前言

在开发过程中逐渐发现,有些效果的控件原生就有了,还傻乎乎的去自定义控件或找第三方,只好认真的学习下官方介绍文档,了解原生控件。这一次就从最基本的TextView开始,写一系列的介绍。

来源

下面的知识来源来自于官方文档(全英文):
TextView
以后要是有更新,我也会尽力跟着修正。

开始

TextView
描述:用户界面元素,向用户显示文本。

  • 直接子类如下:
    Button, CheckedTextView, Chronometer , DigitalClock, EditText, TextClock
  • 间接子类如下:
    AutoCompleteTextView, CheckBox, CompoundButton, ExtractEditText, MultiAutoCompleteTextView, RadioButton, Switch, ToggleButton

简单用法:以下代码示例显示了典型用法,使用XML布局和代码来修改文本视图的内容:

 <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/text_view_id"android:layout_height="wrap_content"android:layout_width="wrap_content"android:text="@string/hello" /></LinearLayout>

此代码示例演示如何修改先前XML布局中定义的文本视图的内容:

 public class MainActivity extends Activity {protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);final TextView helloTextView = (TextView) findViewById(R.id.text_view_id);helloTextView.setText(R.string.user_greeting);}}

XML属性

1、android:allowUndo

说明:是否应允许撤消可编辑文本。默认为true。

一般在EditText中使用,用来设定是否允许撤销文本修改,也相当于电脑使用Ctrl + Z。

2、android:autoLink

说明:控制是否自动查找网址和电子邮件地址等链接并将其转换为可点击链接。默认值为“none”,禁用此功能。

必须是以下常量值中的一个或多个(由“|”分隔)。

Constant Value Description
all f 匹配所有模式(相当于web / email / phone / map)。
email 2 匹配电子邮件地址
map 8 匹配地图地址。不推荐使用:请参阅 Linkify.MAP_ADDRESSES。
none 0 不匹配任何模式(默认)。
phone 4 匹配电话号码。
web 1 匹配网页链接。

在代码中还可以使用以下方法:
public final void setAutoLinkMask (int mask)

3、android:autoSizeMaxTextSize

说明:自动调整文本大小时要使用的最大文本大小约束。

可以是维度值,它是附加有诸如“14.5sp”的单位的浮点数。可用单位为:px(像素),dp(与密度无关的像素),sp(基于首选字体大小的缩放像素),in(英寸)和mm(毫米)。
在代码中还可以使用以下方法:
public void setAutoSizeTextTypeUniformWithConfiguration (int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)

4、android:autoSizeMinTextSize

说明:自动调整文本大小时要使用的最小文本大小约束。

同3

5、android:autoSizePresetSizes

说明:与autoSizeTextType一起使用的维度的资源数组设置为uniform。如果设置,则覆盖autoSizeStepGranularity。

1、可以是“@ [+] [package:] type / name”形式的另一个资源的引用,也可以是“?[package:] type / name”形式的主题属性。
2、可以是字符串值,使用’\;‘为unicode字符转义’\ n’或’\ uxxxx’等字符;
3、可以是整数值,例如“100”。
4、可以是布尔值,例如“true”或“false”。
5、可以是“#rgb”,“#arbb”,“#rrggbb”或“#aarrggbb”形式的颜色值。
6、可能是浮点值,例如“1.2”。
7、可以是维度值,它是附加有诸如“14.5sp”的单位的浮点数。可用单位为:px(像素),dp(与密度无关的像素),sp(基于首选字体大小的缩放像素),in(英寸)和mm(毫米)。
8、可以是小数值,它是附加%或%p的浮点数,例如“14.5%”。 %后缀总是表示基本大小的百分比;可选的%p后缀提供相对于某个父容器的大小。
9、在代码中还可以使用以下方法:
public void setAutoSizeTextTypeUniformWithPresetSizes (int[] presetSizes, int unit)

6、android:autoSizeStepGranularity

说明:如果autoSizeTextType设置为uniform,请指定自动调整大小步长。默认值为1px。如果设置,则覆盖autoSizePresetSizes。

同3

7、android:autoSizeTextType

说明:指定自动大小的类型。请注意,EditText不支持此功能,仅适用于TextView。
必须是以下常量值之一:

Constant Value Description
none 0 没有自动调整大小(默认)。
uniform 1 均匀的水平和垂直文本大小缩放以适合容器。

在代码中还可以使用以下方法:
public void setAutoSizeTextTypeWithDefaults (int autoSizeTextType)

8、android:autoText

说明:如果设置,则指定此TextView具有文本输入方法并自动更正一些常见的拼写错误。默认值为“false”。

1、autoText是作用在EditText上的属性。仅仅TextView上设置不会有任何作用。
2、即使autoText和capitalize配合使用,他们也是在给inputType赋值。那我们为什么不直接使用inputType这个属性呢。其实android官方也是建议直接使用inputType这个属性的。不管是使用autoText和capitalize或者inputType,其实只是对手机输入法软键盘有一些影响。EditText本身不会对setText的内容做什么调整。
3、如果你还是在使用autoText和capitalize这2个属性,最好使用inputType替换。不然出现如下警告:Deprecated views, attributes and so on are deprecated because there is a better way to do something. Do it that new way. You've been warned,通过警告也可以看到,autoText和capitalize已经过时了。

9、android:breakStrategy

说明:中断策略(控制段落布局)。
必须是以下常量值之一:

Constant Value Description
balanced 2 换行策略与行长度平衡。
high_quality 1 换行使用高质量的策略,包括连字符。
simple 0 换行使用简单的策略。

在代码中还可以使用以下方法:
public void setBreakStrategy (int breakStrategy)

表现:
simple:

high_quality:

balanced:

可以说这三种换行策略的效果都不尽如人意。。。有需求的朋友还是要自行自定义控件优化一下。
在代码中还可以使用以下方法:
public void setBreakStrategy (int breakStrategy)

10、android:bufferType

说明:确定getText()将返回的最小类型。默认为“normal”。请注意,即使您在此处指定其他类型,EditText和LogTextBox也始终返回Editable。
必须是以下常量值之一:

Constant Value Description
editable 2 只能返回Spannable和Editable。
normal 0 可以返回任何CharSequence,如果源文本是Spanned,则可能返回Spanned。
spannable 1 只能返回Spannable。

Editable 类似于 StringBuilder 可追加字符,也就是说 getText() 后可调用 append 方法设置文本内容。
Spannable 则可在给定的字符区域使用样式。
在代码中还可以使用以下方法:
public final void setText (int resid, TextView.BufferType type)

11、android:capitalize

说明:如果设置,则指定此TextView具有文本输入方法,并应自动将用户键入的内容大写。默认值为“none”。
必须是以下常量值之一:

Constant Value Description
characters 3 大写每一个字符
none 0 不要自动大写任何东西
sentences 1 将每个句子的第一个词大写
words 2 将每个单词的第一个字母大写

12、android:cursorVisible

说明:使光标可见(默认)或不可见。布尔值,例如“true”或“false”。

在代码中还可以使用以下方法:
public void setCursorVisible (boolean visible)

13、android:digits

说明:如果设置,则指定此TextView(只有EditText)具有数字输入方法,并且这些特定字符是它将接受的字符。如果设置了此项,则表示数字为true。默认值为false。可以是字符串值,使用’\;‘为unicode字符转义’\ n’或’\ uxxxx’等字符;

意思就是当我们设置了android:digits="0123456789",那么用户就只能输入“1234567890”这些内容,其他的输入都不会显示。
使用代码来动态设置也是可以的:
editText.setKeyListener(DigitsKeyListener.getInstance("0123456789"));

14、android:drawableBottom

说明:要在文本下面绘制的drawable。
表现:

可以是“@ [+] [package:] type / name”形式的另一个资源的引用,也可以是“?[package:] type / name”形式的主题属性。
可以是“#rgb”,“#arbb”,“#rrggbb”或“#aarrggbb”形式的颜色值。
在代码中还可以使用以下方法:
public void setCompoundDrawablesWithIntrinsicBounds (Drawable left, Drawable top, Drawable right, Drawable bottom)

15、android:drawableEnd

说明:要绘制到文本末尾的drawable。
表现:

可以是“@ [+] [package:] type / name”形式的另一个资源的引用,也可以是“?[package:] type / name”形式的主题属性。
可以是“#rgb”,“#arbb”,“#rrggbb”或“#aarrggbb”形式的颜色值。
在代码中还可以使用以下方法:
public void setCompoundDrawablesRelativeWithIntrinsicBounds (Drawable start, Drawable top, Drawable end, Drawable bottom)

16、android:drawableLeft

说明:要绘制在文本左侧的drawable。
表现:

同14

17、android:drawablePadding

说明:drawables和文本之间的距离。

可以是维度值,它是附加有诸如“14.5sp”的单位的浮点数。可用单位为:px(像素),dp(与密度无关的像素),sp(基于首选字体大小的缩放像素),in(英寸)和mm(毫米)。
在代码中还可以使用以下方法:
public void setCompoundDrawablePadding (int pad)

18、android:drawableRight

说明:要绘制在文本右侧的drawable。
表现:

同14

19、android:drawableStart

说明:要绘制在文本开始的drawable。
表现:

同15

20、android:drawableTint

说明:在绘制的所有drawable上叠加的颜色。
表现:

可以是“#rgb”,“#arbb”,“#rrggbb”或“#aarrggbb”形式的颜色值。
在代码中还可以使用以下方法:
public void setCompoundDrawableTintList (ColorStateList tint)

21、android:drawableTintMode

说明:在android:drawableTint上设置的颜色在所有drawable上叠加的模式。
必须是以下常量值之一:

Constant Value Description
add 10 结合色调和drawable颜色以及Alpha通道,将结果t调整到有效的颜色值。饱和(S + D)
multiply e 将drawable的颜色和alpha通道与色调相乘。 [Sa * Da,Sc * Dc]
screen f [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc]
src_atop 9 色调在drawable上方绘制,但是drawable的alpha通道掩盖了结果。 [Da,Sc * Da +(1-Sa)* Dc]
src_in 5 色调被drawable的alpha通道遮盖。 drawable的颜色通道被抛出。 [Sa * Da,Sc * Da]
src_over 3 色彩绘制在drawable的顶部。 [Sa +(1-Sa)* Da,Rc = Sc +(1-Sa)* Dc]

表现:

Constant show
add
multiply
screen
src_atop
src_in
src_over

在代码中还可以使用以下方法:
public void setCompoundDrawableTintMode (PorterDuff.Mode tintMode)

22、android:drawableTop

说明:要绘制在文本顶部的drawable。
表现:

同14

23、android:editable

说明:如果设置,则指定此TextView具有输入方法。除非另有说明,否则它将是文本的。对于TextView,默认情况下为false。对于EditText,默认情况下为true。

指控件是否允许编辑文本

24、android:editorExtras

说明:引用<input-extras> XML资源,其中包含要提供给输入方法的附加数据,该输入方法对输入方法的实现是私有的。这只是在连接输入方法时填充EditorInfo.extras字段。

在EditText控件的介绍中再进行详细描述。

25、android:elegantTextHeight

说明:优雅的文本高度,尤其适用于压缩较少的复杂脚本文本。

这是一种关闭某些语言的“字体压缩”优化的方法。
此设置选择尚未压缩的字体变体以适合基于拉丁语的垂直度量,并且还增加顶部和底部边界以提供更多空间。 这是什么意思? 在某些语言中,某些字形可能非常高。像这样: 泰语+拉丁语 。字体通常有两种“高文本”语言变体:原始变体和压缩变体。压缩版本是为了确保在将不同语言的文本放在一起时,文本看起来不会很奇怪。默认版本(至少在Android的Paint中)是压缩版本。 但有时您可能需要原始变体。如果需要,请添加以下行: setElegantTextHeight(true); 然后您的文本将使用原始(优雅)变体绘制。

26、android:ellipsize

说明:如果设置,则导致比视图宽的单词变成...而不是在中间断开。您通常还需要设置scrollHorizo​​ntally或singleLine,以便整个文本也被约束为单行,而不是仍然允许分成多行。
必须是以下常量值之一:

Constant Value Description
end 3 在句子最后使用省略号
marquee 4 在句子中滚动使用省略号
middle 2 在句子中间使用省略号
none 0 不使用省略号(默认)
start 1 在句子开始使用省略号

这就是约束字符串超出长度的时候显示省略号用的。
需要配置android:singleLine="true"约束单行显示,不然会报错。
在设置marquee后还需要添加两行代码才能实现跑马灯效果,如下:android:focusable="true"android:focusableInTouchMode="true",用于使得控件获取到焦点。
在代码中还可以使用以下方法:
public void setEllipsize (TextUtils.TruncateAt where)

27、android:ems

说明:将对应的控件宽度设为n个字符的宽度。当设置该属性后,一行中最大只能显示设置的宽度。
表现:

            <TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:ems="2"android:text="可以是维度值,它是附加有诸如“14.5sp”的单位的浮点数。"android:textSize="18sp" />

在代码中还可以使用以下方法:
public void setEms (int ems)

28、android:enabled

说明:指定是否启用窗口小部件。启用状态的解释因子类而异。例如,未启用的EditText会阻止用户编辑包含的文本,而未启用的按钮会阻止用户点击按钮。如果从评估state_enabled引用的drawable不同,则启用和未启用的窗口小部件的外观可能不同。

在TextView中用不到,到其他子类中再详细描述

29、android:fallbackLineSpacing

说明:原文Whether to respect the ascent and descent of the fallback fonts that are used in displaying the text. When true, fallback fonts that end up getting used can increase the ascent and descent of the lines that they are used on.

我实在找不到这个配置有什么用,这段官方描述也不清晰。截止2019/08/09-10:20百度和Google都没有相关案例。我去设置了一下true/false也没有什么不同,也添加了不同的字体。这个设置是在API 28后才生效的,目前最新的API,应用范围也比较小。暂时先这样吧,等以后有使用到了,再回头补充。

30、android:firstBaselineToTopHeight

说明:从TextView顶部到第一个文本基线的距离。如果设置,则覆盖为paddingTop设置的值。

API 28后才生效。
在代码中还可以使用以下方法:
public void setFirstBaselineToTopHeight (int firstBaselineToTopHeight)

31、android:fontFamily

说明:设置字体(由字符串命名或作为字体资源引用)。

在代码中还可以使用以下方法:
public void setTypeface (Typeface tf)

32、android:fontFeatureSettings

说明:字体功能设置。格式与CSS font-feature-settings属性相同:https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop

参考web开发介绍https://developer.mozilla.org/zh-CN/docs/Web/CSS/font-feature-settings
在代码中还可以使用以下方法:
public void setFontFeatureSettings (String fontFeatureSettings)

33、android:fontVariationSettings

说明:设置TrueType或OpenType字体变体设置。设置字符串由多对轴标签和样式值构成。轴标签必须包含四个ASCII字符,并且必须用单引号(U + 0027)或双引号(U + 0022)包装。长度超过或短于四个字符的轴字符串或包含U + 0020…U + 007E之外的字符的轴字符串无效。如果未在字体中定义指定的轴名称,则将忽略这些设置。
举例:
1、将字体宽度设置为150。

android:fontVariationSettings="'wdth' 150"

2、将字体倾斜设置为20度并要求斜体样式。

android:fontVariationSettings="'slnt' 20, 'ital' 1"

在代码中还可以使用以下方法:
public boolean setFontVariationSettings (String fontVariationSettings)

34、android:freezesText

说明:如果设置,除了元数据(如当前光标位置)之外,文本视图还将在其冻结冰柱内包含其当前完整文本。默认情况下,这是禁用的;当文本视图的内容未存储在诸如内容提供者之类的持久位置时,它可能是有用的。对于EditText,无论属性的值如何,它始终都会启用。

当设置为true时,会保存当前字符串的修改,当页面被重新绘制(如页面方向变化,从竖屏变横屏)的时候,会保留字符串内容。否则字符串将消失。
在代码中还可以使用以下方法:
public void setFreezesText (boolean freezesText)

35、android:gravity

说明:指定当文本小于视图时,如何通过视图的x轴和/或y轴对齐文本。
必须是以下常量值中的一个或多个(由“|”分隔)。

Constant Value Description
bottom 50 将对象推到其容器的底部,而不是更改其大小。
center 11 将物体放在其容器的中心,在垂直和水平轴上,不改变其大小。
center_horizontal 1 将对象放在其容器的水平中心,而不是更改其大小。
center_vertical 10 将对象放在其容器的垂直中心,而不是更改其大小。
clip_horizontal 8 可以设置为将子项的左边和/或右边剪裁到其容器边界的附加选项。剪辑将基于水平重力:左重力将剪切右边缘,右重力将剪切左边缘,并且两者都不会剪切两个边缘。
clip_vertical 80 可以设置为将子项的顶部和/或底部边缘剪切到其容器边界的附加选项。剪辑将基于垂直重力:顶部重力将剪切底部边缘,底部重力将剪切顶部边缘,并且两者都不会剪切两个边缘。
end 800005 将对象推送到其容器的末尾,而不是更改其大小。
fill 77 如果需要,增加对象的水平和垂直尺寸,以便完全填充其容器。
fill_horizontal 7 如果需要,增加对象的水平尺寸,以便完全填充其容器。
fill_vertical 70 如果需要,增大对象的垂直尺寸,使其完全填充其容器。
left 3 将对象推到其容器的左侧,而不是更改其大小。
right 5 将对象推到其容器的右侧,而不是更改其大小。
start 800003 将对象推送到其容器的开头,而不是更改其大小。
top 30 将对象推到其容器的顶部,而不是更改其大小。

在代码中还可以使用以下方法:
public void setGravity (int gravity)

36、android:height

说明:高度设置。

在代码中还可以使用以下方法:
public void setHeight (int pixels)

37、android:hint

说明:提示文本为空时显示的文本。

在代码中还可以使用以下方法:
public final void setHint (int resid)

38、android:hyphenationFrequency

说明:自动连字的频率。
必须是以下常量值之一:

Constant Value Description
full 2 标准的连字数,对于运行文本和文本空间有限的屏幕非常有用。
none 0 没有连字符。
normal 1 不常用的连字符,非常适用于非正式用例,例如聊天消息。

在代码中还可以使用以下方法:
public void setHyphenationFrequency (int hyphenationFrequency)

39、android:imeActionId

说明:为输入方法连接到文本视图时使用的EditorInfo.actionId提供值。可以是整数值,例如“100”。

用在EditText,到时候再做介绍

40、android:imeActionLabel

说明:为输入方法连接到文本视图时使用的EditorInfo.actionLabel提供值。

用在EditText,到时候再做介绍

41、android:imeOptions

说明:您可以在与编辑器关联的IME中启用的其他功能,以改善与应用程序的集成。这里的常量对应于EditorInfo.imeOptions定义的常量。

用在EditText,到时候再做介绍

42、android:includeFontPadding

说明:设置TextView是否包含额外的顶部和底部填充,以便为超出正常上限和下限的奇特字体提供空间。默认值为true。

在代码中还可以使用以下方法:
public void setIncludeFontPadding (boolean includepad)

43、android:inputMethod

说明:如果设置,则指定此TextView应使用指定的输入法(由完全限定的类名指定)。

用在EditText,到时候再做介绍

44、android:inputType

说明:放置在文本字段中的数据类型,用于帮助输入方法决定如何让用户输入文本。这里的常量对应于InputType定义的常量。通常,您可以选择单个值,但有些值可以按指示组合在一起。将此属性设置为除none之外的任何内容也意味着文本是可编辑的。
必须是以下常量值中的一个或多个(由“|”分隔)。

Constant Value Description
date 14 输入日期。对应于InputType.TYPE_CLASS_DATETIME / InputType.TYPE_DATETIME_VARIATION_DATE。
datetime 4 用于输入日期和时间。对应于InputType.TYPE_CLASS_DATETIME / InputType.TYPE_DATETIME_VARIATION_NORMAL。
none 0 没有内容类型。该文字不可编辑。
number 2 仅限数字字段。对应于InputType.TYPE_CLASS_NUMBER / InputType.TYPE_NUMBER_VARIATION_NORMAL。
numberDecimal 2002 可以与数字及其他选项组合以允许小数(小数)数字。对应于InputType.TYPE_CLASS_NUMBER / InputType.TYPE_NUMBER_FLAG_DECIMAL。
numberPassword 12 数字密码字段。对应于InputType.TYPE_CLASS_NUMBER / InputType.TYPE_NUMBER_VARIATION_PASSWORD。
numberSigned 1002 可以与数字及其他选项结合使用以允许签名的数字。对应于InputType.TYPE_CLASS_NUMBER / InputType.TYPE_NUMBER_FLAG_SIGNED。
phone 3 用于输入电话号码。对应于InputType.TYPE_CLASS_PHONE。
text 1 只是简单的旧文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_NORMAL。
textAutoComplete 10001 可以与文本及其变体结合使用,以指定此字段将执行自己的自动完成并适当地与输入方法进行通信。对应于InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE。
textAutoCorrect 8001 可以与文本及其变体结合使用,以请求自动更正正在输入的文本。对应于InputType.TYPE_TEXT_FLAG_AUTO_CORRECT。
textCapCharacters 1001 可以与文本及其变体结合使用,以请求所有字符的大写。对应于InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS。
textCapSentences 4001 可以与文本及其变体结合使用,以请求每个句子的第一个字符的大写。对应于InputType.TYPE_TEXT_FLAG_CAP_SENTENCES。
textCapWords 2001 可以与文本及其变体结合使用,以请求每个单词的第一个字符的大写。对应于InputType.TYPE_TEXT_FLAG_CAP_WORDS。
textEmailAddress 21 将用作电子邮件地址的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS。
textEmailSubject 31 作为电子邮件主题提供的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_EMAIL_SUBJECT。
textFilter b1 正在过滤其他一些数据的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_FILTER。
textImeMultiLine 40001 可以与文本及其变体结合使用,表明虽然常规文本视图不应该是多行,但IME应该提供多行。对应于InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE。
textLongMessage 51 作为长消息内容的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE。
textMultiLine 20001 可以与文本及其变体结合使用,以允许字段中的多行文本。如果未设置此标志,则文本字段将被约束为单行。对应于InputType.TYPE_TEXT_FLAG_MULTI_LINE。
textNoSuggestions 80001 可以与文本及其变体结合使用,以指示IME不应显示任何基于字典的单词建议。对应于InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS。
textPassword 81 作为密码的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_PASSWORD。
textPersonName 61 作为人名的文字。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_PERSON_NAME。
textPhonetic c1 用于语音发音的文本,例如联系人条目中的语音名称字段。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_PHONETIC。
textPostalAddress 71 作为邮寄地址提供的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS。
textShortMessage 41 作为短消息内容的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE。
textUri 11 将用作URI的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_URI。
textVisiblePassword 91 作为应该可见的密码的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD。
textWebEditText a1 在Web表单中作为文本提供的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT。
textWebEmailAddress d1 将用作Web表单上的电子邮件地址的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS。
textWebPassword e1 将用作Web表单上的密码的文本。对应于InputType.TYPE_CLASS_TEXT / InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD。
time 24 输入时间。对应于InputType.TYPE_CLASS_DATETIME / InputType.TYPE_DATETIME_VARIATION_TIME。

在代码中还可以使用以下方法:
public void setRawInputType (int type)

45、android:justificationMode

说明:对齐模式。
必须是以下常量值之一:

Constant Value Description
inter_word 1 通过拉伸字间距来实现对齐。
none 0 不对齐。

46、android:lastBaselineToBottomHeight

说明:从TextView底部到最后一个文本基线的距离。如果设置,则覆盖为paddingBottom设置的值。

在代码中还可以使用以下方法:
public void setLastBaselineToBottomHeight (int lastBaselineToBottomHeight)

47、android:letterSpacing

说明:文字字母间距。可能是浮点值,例如“1.2”。

在代码中还可以使用以下方法:
public void setLetterSpacing (float letterSpacing)

48、android:lineHeight

说明:文本行之间的显式高度。如果设置,这将覆盖为lineSpacingExtra和lineSpacingMultiplier设置的值。

在代码中还可以使用以下方法:
public void setLineHeight (int lineHeight)

49、android:lineSpacingExtra

说明:文本行之间的额外间距。该值不会应用于最后一行文本。

在代码中还可以使用以下方法:
public void setLineSpacing (float add, float mult)

50、android:lineSpacingMultiplier

说明:文本行之间的额外间距,作为乘数。该值不会应用于最后一行文本。可能是浮点值,例如“1.2”。

在代码中还可以使用以下方法:
public void setLineSpacing (float add, float mult)

51、android:lines

说明:设置TextView一共多少行。可以是整数值,例如“10”。

在代码中还可以使用以下方法:
public void setLines (int lines)

52、android:linksClickable

说明:如果设置为false,即使autoLink导致找到链接,也不会将移动方法设置为链接移动方法。

在代码中还可以使用以下方法:
public final void setLinksClickable (boolean whether)

53、android:marqueeRepeatLimit

说明:设置重复选取框动画的次数。仅在TextView启用了选取框时应用。设置为-1可无限重复。
可以是以下常量值之一:

Constant Value Description
marquee_forever ffffffff 表示选取框应无限重复。

在代码中还可以使用以下方法:
public void setMarqueeRepeatLimit (int marqueeLimit)

54、android:maxEms

说明:设置最大容纳n个字符。

在代码中还可以使用以下方法:
public void setMaxEms (int maxEms)

55、android:maxHeight

说明:设置最大高度。

在代码中还可以使用以下方法:
public void setMaxHeight (int maxPixels)

56、android:maxLength

说明:设置输入过滤器以将文本长度约束为指定的数字。

57、android:maxLines

说明:使TextView最多只有这么多行。在可编辑文本上使用时,inputType属性的值必须与要应用的maxLines属性的textMultiLine标志组合。

在代码中还可以使用以下方法:
public void setMaxLines (int maxLines)

58、android:maxWidth

说明:设置最大宽度限制。

在代码中还可以使用以下方法:
public void setMaxWidth (int maxPixels)

59、android:minEms

说明:设置最少容纳n个字符。

在代码中还可以使用以下方法:
public void setMinEms (int minEms)

60、android:minHeight

说明:设置最小高度。

在代码中还可以使用以下方法:
public void setMinHeight (int minPixels)

61、android:minLines

说明:使TextView至少有这么多行。在可编辑文本上使用时,inputType属性的值必须与textMultiLine标志组合才能应用minLines属性。

在代码中还可以使用以下方法:
public void setMinLines (int minLines)

62、android:minWidth

说明:设置最小宽度限制。

在代码中还可以使用以下方法:
public void setMinWidth (int minPixels)

63、android:numeric

说明:如果设置,则指定此TextView具有数字输入方法。默认值为false。
必须是以下常量值中的一个或多个(由“|”分隔)。

Constant Value Description
decimal 5 输入为数字,允许小数。
integer 1 输入是数字。
signed 3 输入为数字,允许使用符号。

64、android:password

说明:字段的字符是否显示为密码点而不是自身。为是布尔值,例如“true”或“false”。

在代码中还可以使用以下方法:
public final void setTransformationMethod (TransformationMethod method)

65、android:phoneNumber

说明:如果设置,则指定此TextView具有电话号码输入方法。默认值为false。为是布尔值,例如“true”或“false”。

66、android:privateImeOptions

说明:附加内容类型描述,提供给附加到文本视图的输入方法,该输入方法对输入方法的实现是私有的。这只是在连接输入方法时填写EditorInfo.privateImeOptions字段。

在代码中还可以使用以下方法:
public void setPrivateImeOptions (String type)

67、android:scrollHorizontally

说明:是否允许文本比视图宽(因此可以水平滚动)。为是布尔值,例如“true”或“false”。

在代码中还可以使用以下方法:
public void setHorizontallyScrolling (boolean whether)

68、android:selectAllOnFocus

说明:如果文本是可选的,请在视图获得焦点时全部选择。为是布尔值,例如“true”或“false”。

在代码中还可以使用以下方法:
public void setSelectAllOnFocus (boolean selectAllOnFocus)

69、android:shadowColor

说明:在文本下方放置模糊的文本阴影,使用指定的颜色绘制。生成的文本阴影不与View上的属性交互,这些属性负责实时阴影,elevation和translationZ。值是“#rgb”,“#arbb”,“#rrggbb”或“#aarrggbb”形式的颜色值。

在代码中还可以使用以下方法:
public void setShadowLayer (float radius, float dx, float dy, int color)

70、android:shadowDx

说明:文本阴影的水平偏移。浮点值,例如“1.2”。

同69

71、android:shadowDy

说明:文本阴影的垂直偏移。浮点值,例如“1.2”。

同69

72、android:shadowRadius

说明:模糊文本阴影的半径。浮点值,例如“1.2”。

同69

73、android:singleLine

说明:将文本约束为单个水平滚动线,而不是让它换行到多行,并在按下回车键时前进焦点而不是插入换行符。对于不可编辑的文本,默认值为false(多行换行文本模式),但如果为inputType指定任何值,则默认值为true(单行输入字段模式)。

74、android:text

说明:文本显示内容。

在代码中还可以使用以下方法:
public final void setText (CharSequence text)

75、android:textAllCaps

说明:在全部大写中显示文本。这可能会在可用时使用小型表格。布尔值,例如“true”或“false”。

在代码中还可以使用以下方法:
public void setAllCaps (boolean allCaps)

76、android:textAppearance

说明:基本文本颜色,字体,大小和样式。

在代码中还可以使用以下方法:
public void setTextAppearance (int resId)

77、android:textColor

说明:文字颜色。

在代码中还可以使用以下方法:
public void setTextColor (int color)

78、android:textColorHighlight

说明:文本选择的颜色突出显示。

在代码中还可以使用以下方法:
public void setHighlightColor (int color)

79、android:textColorHint

说明:当文本为空时,提示文字的颜色。

在代码中还可以使用以下方法:
public final void setHintTextColor (int color)

80、android:textColorLink

说明:链接的文字颜色。

在代码中还可以使用以下方法:
public final void setLinkTextColor (int color)

81、android:textCursorDrawable

说明:设置与文本光标对应的Drawable。 Drawable默认为textCursorDrawable属性的值。请注意,在光标被隐藏然后再次绘制之前,应用于光标Drawable的任何更改都不可见。

在代码中还可以使用以下方法:
public void setTextCursorDrawable (int textCursorDrawable)

82、android:textFontWeight

说明:TextView中使用的字体的权重。

83、android:textIsSelectable

说明:表示可以选择不可编辑文本的内容。

84、android:textScaleX

说明:设置文本的水平缩放系数。默认值为1.0。大于1.0的值会使文本更宽。小于1.0的值使文本更窄。

在代码中还可以使用以下方法:
public void setTextScaleX (float size)

85、android:textSelectHandle

说明:设置与用于在文本中定位光标的选择句柄对应的Drawable。 Drawable默认为textSelectHandle属性的值。请注意,在隐藏手柄然后再次绘制手柄之前,应用于手柄Drawable的任何更改都不可见。

在代码中还可以使用以下方法:
public void setTextSelectHandle (int textSelectHandle)

86、android:textSelectHandleLeft

说明:设置与用于选择文本的左手柄对应的Drawable。 Drawable默认为textSelectHandleLeft属性的值。请注意,在隐藏手柄然后再次绘制手柄之前,应用于手柄Drawable的任何更改都不可见。

在代码中还可以使用以下方法:
public void setTextSelectHandleLeft (int textSelectHandleLeft)

87、android:textSelectHandleRight

说明:设置与用于选择文本的右手柄对应的Drawable。 Drawable默认为textSelectHandleRight属性的值。请注意,在隐藏手柄然后再次绘制手柄之前,应用于手柄Drawable的任何更改都不可见。

在代码中还可以使用以下方法:
public void setTextSelectHandleRight (int textSelectHandleRight)

88、android:textSize

说明:文字大小。对于缩放像素,文本的推荐尺寸类型为“sp”(例如:14sp)。

在代码中还可以使用以下方法:
public void setTextSize (float size)

89、android:textStyle

说明:文本的样式(正常,粗体,斜体,粗体|斜体)。
必须是以下常量值中的一个或多个(由“|”分隔)

Constant Value Description
bold 1 粗体。
italic 2 斜体。
normal 0 正常。

在代码中还可以使用以下方法:
public void setTypeface (Typeface tf, int style)

90、android:typeface

说明:文本的字体(普通,无衬线,衬线,等宽字体)。
必须是以下常量值之一

Constant Value Description
monospace 3 等宽字体。
normal 0 普通字体。
sans 1 无衬线字体。
serif 2 衬线。

在代码中还可以使用以下方法:
public void setTypeface (Typeface tf, int style)

91、android:width

说明:设置TextView的宽度。您可以通过在布局参数中指定此数字来获得相同的效果。

在代码中还可以使用以下方法:
public void setWidth (int pixels)

完事

Android 原生控件之一 TextView相关推荐

  1. Android 原生控件之三 ProgressBar

    Android 原生控件之三 ProgressBar 相关 来源 开始 不确定的进度 确定的进度 XML属性 1.android:animationResolution 2.android:indet ...

  2. Android 原生控件之二 ImageView

    Android 原生控件之二 ImageView 相关 来源 开始 XML属性 1.android:adjustViewBounds 2.android:baseline 3.android:base ...

  3. Delphi XE10 给地图层上面添加Android原生控件

    之前一直在研究如何在Delphi中使用ArcGIS for Android, 其实一直有个让人头痛的问题: 地图可以显示, 但是地图层处于Z轴的最顶层, 因此, 会遮挡掉Delphi界面中的控件... ...

  4. Android原生控件SearchView实现历史搜索记录

    SearchView实现搜索记录看了一些大神写的贴子简单实现, 但我们功能 需要单独删除一条历史搜索记录,好像没在网上找到解决方案,原生方法上也只有suggestions.clearHistory() ...

  5. Android 原生控件ViewFlipper实现淘宝头条垂直滚动广告条

    showPrevious():          显示ViewFlipper里的上一个View 四.ViewFlipper的详细使用设置View 1.首先在xml中声明ViewFlipper < ...

  6. Qt for Android调用android原生控件安装apk

    Qt开发Android应用,做软件升级的时候,需要调用android借口安装程序, 首先在java文件中用android接口封装一个分享功能的方法,然后在C++中调用 QAndroidJniObjec ...

  7. JS与APP原生控件交互

    "热更新"."热部署"相信对于混合式开发的童鞋一定不陌生,那么APP怎么避免每次升级都要在APP应用商店发布呢?这里就用到了混合式开发的概念,对于电商网站尤其显 ...

  8. Android学习--02(猜猜我的星座App源码+Android常用控件TextView+EditText+Button+ImangeView+DatePicker+App间通信+跳转页面)

    猜猜我的星座App 1 Android常用控件 1.1 TextView控件 1.1.1 简介 1.1.2属性 1.1.3 扩展属性 1.1.4 TextView的使用方法 1.1.5总结 1.2 E ...

  9. android自定义组件属性,Android组合控件详解 自定义属性

    组合控件详解 & 自定义属性 组合控件是自定义控件的一种,只不过它是由其他几个原生控件组合而成,故名组合控件. 在实际项目中,GUI 会遇到一些可以提取出来做成自定义控件情况. 一个自定义控件 ...

最新文章

  1. 打造计数君!谷歌提出RepNet:可自动计数视频重复片段 | CVPR 2020
  2. 个人微信公众号已开通,欢迎各位小伙伴关注
  3. MolCLR | 对比学习在分子图表示任务中大有作为
  4. js实现IE/Firefox的收藏功能
  5. 百度内部培训PPT流出:数据分析的道与术
  6. adb bugreport保存位置_adb 常用命令---日常提升效率
  7. 内核aio_linux内核aio功能
  8. 标签打印软件如何制作菱形标签
  9. 克隆巴赫系数 Cronbach‘s alpha 及 R, Python 实现
  10. Steam VR目录结构
  11. 视觉SLAM | OKVIS
  12. 无法更新 EntitySet“Ips_Articles”,因为它有一个 DefiningQuery,而 ModificationFunctionMapping 元素中没有支持当前操作的 Inse...
  13. Python之模块pandas基础知识
  14. python走迷宫_Python使用Tkinter实现机器人走迷宫
  15. pix2pixHD:High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs
  16. js 对象中添加新属性
  17. delphi11中使用python4delphi组件
  18. 北理工大学计算机专硕学硕,计算机2年制专硕越来越少,生活终于对我下手了吗?...
  19. paid有计算机功能吗,‎App Store 上的“计算器 - iPad计算机”
  20. C语言:输出斐波那契数列前二十项

热门文章

  1. 河北保定计算机学校大专分数线,河北多少分能上大专,河北大专院校最低分数线...
  2. 【Java从零到架构师第二季】【14】AJAX
  3. (ICML-2020)通过超球面的对齐和均匀性理解对比表示学习(二)
  4. 美标A537CL2钢板交货状态和执行标准
  5. 三子棋(N子棋)游戏的保姆级超详细教程(C语言)
  6. Excel合并单元格如何实现组内合并单元格后排序
  7. 第23节 三个败家子(23)——天煞孤星说孙权
  8. 解决论文查重时参考文献被标红的方法
  9. 关于我成为大学生一个半月后的自我反思
  10. Mybatis代码生成器Mybatis-Generator使用及配置详解