常用控件之TextView全解析

2019-09-02 16:30:05 浏览数 (1)

前言

大家好!在前几篇文章里,我们详细介绍了Android中的常用布局,使大家对Android中的页面布局有了一定认识,而对于布局中使用的一些UI控件如ButtonTextView等,有的读者可能还存在一些困惑。在接下来文章中,我们将详细介绍Android开发中经常使用的UI控件,敬请期待!

简介

TextView(文本框),是Android中用于显示文本的一个控件。

常用属性详解

  • id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行相关属性的设置。
  • layout_width:控件的宽度,可以写成wrap_contentmatch_parent,前者是宽度自适应(控件中显示的内容多大,控件就多大),而后者宽度会填满该控件所在的父容器;也可以设置成特定的大小,如上200dp。
  • layout_height:组件的宽度,内容同上。
  • gravity:设置控件中内容的位置,如上center表示居中。
  • text:设置显示的文本内容,一般我们是把字符串写到string.xml文件中,然后通过@String/xxx取得对应的字符串内容的,可避免图上黄色警告。
  • textColor:设置字体颜色,同上,也需通过colors.xml资源来引用。
  • textStyle:设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜体)。
  • textSize:字体大小,单位用sp
  • backgroud:控件的背景颜色,填充整个控件,也可以是图片或者drawable资源文件。

实际开发示例

1.带图片的TextView
  • drawableXxx:可以设置四个方向的图片:drawableTop(上),drawableButtom(下),drawableStart(左),drawableEnd(右) 另外,你也可以使用drawablePadding来设置图片与文字间的间距。
2.带阴影的TextView
  • shadowColor:设置阴影颜色,需要与shadowRadius一起使用。
  • shadowRadius:设置阴影的模糊程度。
  • shadowDx:设置阴影在水平方向的偏移,即水平方向阴影开始的横坐标位置。
  • shadowDy:设置阴影在竖直方向的偏移,即竖直方向阴影开始的纵坐标位置。
3.带边框的TextView
  • background="@drawable/bg_text":编写一个ShapeDrawable的资源文件,放在res下的drawable目录下。
代码语言:javascript复制
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--填充色-->
    <solid android:color="#03A9F4" />
    <!--描边及描边尺寸-->
    <stroke
        android:width="8dp"
        android:color="#FF5722" />
    <!--圆角尺寸,四个角相同可直接使用android:radius-->
    <corners
        android:bottomLeftRadius="12dp"
        android:bottomRightRadius="12dp"
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp" />
</shape>

属性大全

上面只是简单介绍了TextView中一些常用的使用方法,在TextView中,其属性还有很多。下面详细列举TextViewXML中各种属性,供大家参考查阅

android:text:设置显示文本内容。

android:textColor:设置文本颜色。

android:textSize:设置文字字体大小,单位sp

android:hint:Text为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。

android:textColorHint:设置提示信息文字的颜色,默认为灰色,与hint一起使用。

android:textStyle:设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜体)。

android:typeface:设置文本字体,必须是以下常量值之一:normal 0、 sans 1、 serif 2、 monospace(等宽字体) 3。

android:maxWidth:置文本区域的最大宽度。

android:minWidth:设置文本区域的最小宽度。

android:maxHeight:设置文本区域的最大高度。

android:minHeight:设置文本区域的最小高度。

android:textScaleX:设置文字之间间隔,默认为1.0f。

android:autoLink:设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)。

android:autoText:如果设置,将自动执行输入值的拼写纠正,在显示输入法并输入的时候起作用。

android:capitalize:设置英文字母大写类型,需要弹出输入法才能看得到。

android:digits:设置允许输入哪些字符。如“1234567890. -*/%n()’‘。

android:drawableXxx:在text的Xxx方向输出一个drawable,如图片。

android:drawablePadding:设置text与drawable(图片)的间隔,与drawableLeftdrawableRightdrawableTopdrawableBottom一起使用,可设置为负数,单独使用没有效果。

android:ellipsize:设置当文字过长时,该控件该如何显示。有如下值设置:”start”—–省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动) 。

android:freezesText:设置保存文本的内容以及光标的位置。

android:gravity :设置文本位置,如设置成“center”,文本将居中显示。

android:includeFontPadding:设置文本是否包含顶部和底部额外空白,默认为true。

android:inputMethod:为文本指定输入法,需要完全限定名(完整的包名)。

android:inputType:设置文本的类型,用于帮助输入法显示合适的键盘类型。

android:marqueeRepeatLimit:在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。

android:ems:设置TextView的宽度为N个字符的宽度。

android:maxEms:设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。

android:minEms:设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。

android:maxLength:限制显示的文本长度,超出部分不显示。

android:lines:设置文本的行数,设置两行就显示两行,即使第二行没有数据。

android:singleLine:设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。

android:maxLines:设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。

android:minLines:设置文本的最小行数,与lines类似。

android:linksClickable:设置链接是否点击连接,即使设置了autoLink

android:lineSpacingExtra:设置行间距。

android:lineSpacingMultiplier:设置行间距的倍数。如”1.2”。

android:scrollHorizontally:设置文本超出TextView的宽度的情况下,是否出现横拉条。

android:shadowColor:指定文本阴影的颜色,需要与shadowRadius一起使用。

android:shadowRadius:设置阴影的半径,太小了无效果。

android:shadowDx:设置阴影横向坐标开始位置。

android:shadowDy:设置阴影纵向坐标开始位置。

0 人点赞