前言
大家好!在前几篇文章里,我们详细介绍了Android
中的常用布局,使大家对Android
中的页面布局有了一定认识,而对于布局中使用的一些UI
控件如Button
、TextView
等,有的读者可能还存在一些困惑。在接下来文章中,我们将详细介绍Android
开发中经常使用的UI
控件,敬请期待!
简介
TextView
(文本框),是Android
中用于显示文本的一个控件。
常用属性详解
id
:为TextView
设置一个组件id,根据id,我们可以在Java代码中通过findViewById()
的方法获取到该对象,然后进行相关属性的设置。layout_width
:控件的宽度,可以写成wrap_content
或match_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
目录下。
<?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
中,其属性还有很多。下面详细列举TextView
在XML中各种属性,供大家参考查阅。
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(图片)的间隔,与drawableLeft
、drawableRight
、drawableTop
、drawableBottom
一起使用,可设置为负数,单独使用没有效果。
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
:设置阴影纵向坐标开始位置。