TextView的API 中文文档

本文深入探讨Android TextView控件的XML属性,包括链接显示、布局样式、文本控制、输入法配置、显示效果等,通过具体示例展示了如何在实际项目中灵活运用这些属性以提升用户界面体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

结构

java.lang.Object
      android.view.View
              android.widget.TextView

直接子类

Button, CheckedTextView, Chronometer, DigitalClock, EditText

间接子类

AutoCompleteTextView, CheckBox, CompoundButton, ExtractEditText,MultiAutoCompleteTextView, RadioButton, ToggleButton

XML属性

设置是否当文本为URL链接、email、电话号码、map时,文本显示为可点击的链接。 可选值:none,web,email,phone,map,all.其中map目前只使用于美国的地址,默认为none

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:autoLink="phone"
            android:text="18888888888"/>
  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:autoLink="web"
            android:text="http://www.126.com"/>
  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:autoLink="email"
            android:text="hello_world@126.com"/>
  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:autoLink="map"
            android:text="620 Eighth Avenue New York, NY 10018"/>
</LinearLayout>

示例
点选电话号码会自动切换到拨电话活动。
点选电话号码

android:drawableXXX

android:drawableBottomtext的下方输出一个drawable。如果指定一个颜色的话会把text的背景设为该颜色。 同时和background使用时覆盖后者。
android:drawableLefttext的左边输出一个drawable
android:drawableRighttext的右边输出一个drawable
android:drawableToptext的正上方输出一个drawable
android:drawablePadding设置textdrawable(图片)的间隔,与drawableLeftdrawableRightdrawableTopdrawableBottom一起使用,可设置为负数,单独使用没有效果。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="15dp"
            android:drawableTop="@drawable/ic_launcher"
            android:text="图片在我上方,padding未设置"/>
  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="15dp"
            android:drawableBottom="@drawable/ic_launcher"
            android:drawablePadding="10dp"
            android:text="图片在我下方,padding为10dp"/>
  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="15dp"
            android:drawableLeft="@drawable/ic_launcher"
            android:drawablePadding="-5dp"
            android:text="图片在我左边,padding为-5dp"/>
  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="15dp"
            android:drawableLeft="@drawable/ic_launcher"
            android:text="图片在我左边,padding未设置"/>
  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="15dp"
            android:drawableRight="@drawable/ic_launcher"
            android:text="图片在我右边,padding为5dp"
            android:drawablePadding="5dp"/>
</LinearLayout>

drawableTextView

android:singleLine

设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_singleLine" android:singleLine="true" android:layout_width="20dp"将只显示t…。如果不设置singleLine或者设置为false, 文本将自动换行.

android:ellipsize

android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:start—–省略号显示在开头; end——省略号显示在结尾;middle—-省略号显示在中间;marquee ——以跑马灯的方式显示(动画横向移动)。
android:marqueeRepeatLimitellipsize指定marquee的情况下,设置重复滚动的次数, 当设置为marquee_forever时表示无限次。若要出现走马灯效果,需要是单行,即android:singleLine="true",且android:focusableandroid:focusableInTouchMode属性为“true”。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:ellipsize="start"
            android:text="这是一个非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长的字符串"/>

  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:paddingTop="10dp"
            android:ellipsize="middle"
            android:text="这是一个非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长的字符串"/>

  <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:paddingTop="10dp"
            android:focusable="true"
            android:clickable="true"
            android:focusableInTouchMode="true"
            android:ellipsize="end"
            android:text="这是一个非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长的字符串"/>

    <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:paddingTop="10dp"
            android:ellipsize="marquee"
            android:marqueeRepeatLimit="2"
            android:focusable="true"
            android:clickable="true"
            android:focusableInTouchMode="true"
            android:text="这是一个非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长非常长的字符串"/>
</LinearLayout>

走马灯效果

其他
属性名称描述
android:autoText如果设置,将自动执行输入值的拼写纠正。
此处无效果,在显示输入法并输入的时候起作用。
android:bufferType指定getText()方式取得的文本类别。 选项editable类似于StringBuilder可追加字符,
也就是说getText后可调用append方法设置文本内容。 spannable则可在给定的字符区域使用样式。
android:capitalize设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到
android:cursorVisible设定光标为显示/隐藏,默认显示。
android:digits设置允许输入哪些字符。如“1234567890.+-*/%\n()
android:editable设置是否可编辑。这里无效果。
android:editorExtras设置文本的额外的输入数据。
android:freezesText设置保存文本的内容以及光标的位置。
android:gravity设置文本位置,如设置成center,文本将居中显示。
android:hintText为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。
此属性在EditView中使用,但是这里也可以用。
android:imeOptions附加功能,设置右下角IME动作与编辑框相关的动作,
actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。此处无用。
android:imeActionId设置IME动作ID
android:imeActionLabel设置IME动作标签。
android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true
android:inputMethod为文本指定输入法,需要完全限定名(完整的包名)。
例如:com.google.android.inputmethod.pinyin,但是这里报错找不到。
android:inputType设置文本的类型,用于帮助输入法显示合适的键盘类型。这里无效果。
android:linksClickable设置链接是否点击连接,即使设置了autoLink
android:ems设置TextView的宽度为N个字符的宽度。
android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:minEms设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:maxLength限制显示的文本长度,超出部分不显示。
android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:maxLines设置文本的最大显示行数,与width或者layout_width结合使用,
超出部分自动换行,超出行数将不显示。
android:minLines设置文本的最小行数,与lines类似。
android:lineSpacingExtra设置行间距。
android:lineSpacingMultiplier设置行间距的倍数。如”1.2”
android:numeric如果被设置,该TextView有一个数字输入法。此处无用,
设置后唯一效果是TextView有点击效果。
android:password以小点”.”显示文本
android:phoneNumber设置为电话号码的输入方式。
android:privateImeOptions设置输入法选项,此处无用。
android:scrollHorizontally设置文本超出TextView的宽度的情况下,是否出现横拉条。
android:selectAllOnFocus如果文本是可选择的,让它获取焦点而不是将光标移动为文本的
开始位置或者末尾位置。EditText中设置后无效果。
android:shadowColor指定文本阴影的颜色,需要与shadowRadius一起使用。
android:shadowDx设置阴影横向坐标开始位置。
android:shadowDy设置阴影纵向坐标开始位置。
android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜色了,
一般设置为3.0的效果比较好。
android:text设置显示文本.
android:textAppearance设置文字外观。如?android:attr/textAppearanceLargeInverse这里引用的是系统自带的一个外观,
?表示系统是否有这种外观,否则使用默认的外观。可设置的值如下:
textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse
/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/
textAppearanceSmallInverse
android:textColor设置文本颜色
android:textColorHighlight被选中文字的底色,默认为蓝色
android:textColorHint设置提示信息文字的颜色,默认为灰色。与hint一起使用。
android:textColorLink文字链接的颜色.
android:textScaleX设置文字缩放,默认为1.0f
android:textSize设置文字大小,推荐度量单位sp,如15sp
android:textStyle设置字形bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2,`可以设置一个或多个,用“|”隔开
android:typeface设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3
android:height设置文本区域的高度,支持度量单位:px(像素),dpspinmm(毫米)
android:maxHeight设置文本区域的最大高度
android:minHeight设置文本区域的最小高度
android:width设置文本区域的宽度,支持度量单位:px(像素),dpspinmm(毫米)。
android:maxWidth设置文本区域的最大宽度
android:minWidth设置文本区域的最小宽度

出处

  1. http://www.cnblogs.com/over140/archive/2010/08/27/1809745.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值