布局与控件(三)-TextView那些事儿

原创 2016年05月30日 15:04:47
更新时间 修改意见
2016-08-02 陈敏

第3节 TextView

这是界面设计最为常用的控件,也是很多别的控件的父类,例如Button

3.1 文字常用属性

最常使用到的属性,通过它们的名字就可以判断出它们的作用:

android:text:为TextView设置显示的文字内容;

<TextView
    ......
    <!--直接设置要显示的文字-->
    android:text="Hello world!"/>

<TextView
    ......
    <!--使用引用设置要显示的文字-->
    android:text="@string/hello_world"/>

android:textColor:设置文字的颜色;

<TextView
    ......
    <!--直接设置文字的颜色-->
    android:textColor="#FFFF0000"/>

<TextView
    ......
    <!--使用引用设置文字的颜色-->
    android:text="@color/color_red"/>

android:textSize:设置文字的大小,文字大小最好使用sp为单位;

<TextView
    ......
    <!--直接设置文字的大小-->
    android:textSize="12sp"/>

<TextView
    ......
    <!--使用引用设置文字的大小-->
    android:textSize="@dimen/text_size"/>

android:textAllCaps:显示的字符都是大写,

<TextView
    ......
    <!--直接设置文字的大小-->
    android:textAllCaps="true"/>

3.2 文字字体

android:textStyle:设置文字的样式,粗体bold、斜体italic等等,默认情况下是normal

<TextView
    ......
    <!--字体设置成了粗体-->
    android:textStyle="bold"/>

android:fontFamily:设置文字显示用的的特定字体家族,可用的字体家族可以参考安卓系统源码的system_fonts.xml文件,里面fileset标签中的名字,就可以用作android:fontFamily的参数,

<TextView
    ......
    <!--字体系统内置的一种字体家族-->
    android:fontFamily="sans-serif-light"/>

android:typeface:设置文字的字型,有normal sans serif monospace四种字型设置;它会与font family对应的字体家族合作,查找合适的字体用来显示文字;

<TextView
    ......
    <!--字体设置成了等宽字体-->
    android:typeface="monospace"/>

如果你使用了fontFamily,那么系统会优先从该fontFamily中,结合typefacetextStyle查找合适的字体;假如没有找到,就会在默认的fontFamily中,结合typefacetextStyle查找合适的字体。

3.3 文字空间利用

android:singleLine:即使文字内容很长,也不要换行显示;

<TextView
    ......
    <!--只能单行显示-->
    android:singleLine="true"/>

android:lines:如果文字内容很长,会换行显示,并且显示行数为设置的行数;如果你的文字没有设定的行数(例如10行)那么多,那么整个TextView也会占据10行文字的高度;

<TextView
    ......
    <!--显示内容的高度为10行的高度-->
    android:lines="10"/>

android:maxLines:如果文字内容很长,会换行显示,但是行数不能超过设置的行数;如果你的文字没有设定的行数那么长,那么整个TextView的高度也就是文字实际占用的高度;

<TextView
    ......
    <!--显示内容不超过2-->
    android:maxLines="2"/>

android:maxLength:指定要显示的字符数量,一个中文汉字也认为是一个字符;

<TextView
    ......
    <!--显示内容不超过4个字符-->
    android:maxLength="4"/>

android:ellipsize:如果文字内容很长,可以通过这个属性设定它的显示效果,

  1. end:显示文字内容的前面部分,后面显示不下的内容用...表示;

    <TextView
        ......
        <!--设置end效果-->
        android:ellipsize="end"
        <!--设置单行显示-->
        android:singleLine="true"/>
  2. start:显示文字内容的后面部分,前面显示不下的内容用...表示;还有其它的条件需要满足:文字必须只有一行;

    <TextView
        ......
        <!--设置start效果-->
        android:ellipsize="start"
        <!--设置单行显示-->
        android:singleLine="true"/>
  3. middle:显示文字的中间部分:两头显示不下的内容用...表示;还有其它的条件需要满足:文字必须只有一行;

    <TextView
        ......
        <!--设置middle效果-->
        android:ellipsize="middle"
        <!--设置单行显示-->
        android:singleLine="true"/>
  4. marquee:以走马灯的方式(文字从右到左滚动)显示;不过要显示这个效果,还有其它的条件需要满足:文字必须只有一行,TextView可以获取焦点,并处于被选中的状态;

    <TextView
        ......
        <!--设置走马灯效果-->
        android:ellipsize="marquee"
        <!--设置单行显示-->
        android:singleLine="true"
        <!--设置可以获取焦点-->
        android:focusableInTouchMode="true"
        android:focusable="true" />

3.4 文字显示效果

android:textAppearance用来指定TextView显示文字时的风格-style。这种style的定义如下,设置了字体的大小、颜色等属性

<style name="TextAppearance">
    <item name="textColor">#FFF</item>
    <item name="textColorHighlight">#0F0</item>
    <item name="textColorHint">#000</item>
    <item name="textColorLink">#FFF</item>
    <item name="textSize">16sp</item>
    <item name="textStyle">normal</item>
</style>

使用的时候,可以使用上面那种自己定义的style,

<TextView
    ......
    android:textAppearance="style/TextAppearance"/>

也可以使用系统预设好的style,
android:textAppearance="?android:attr/textAppearanceSmall
android:textAppearance="?android:attr/textAppearanceMedium
android:textAppearance="?android:attr/textAppearanceLarge
android:textAppearance="?android:attr/textAppearanceLarge等等,是最经常使用的系统提供的style,

<TextView
    ......
    android:textAppearance="?android:attr/textAppearanceSmall"/>

文字阴影
给文字添加阴影效果需要使用android:shadowRadius android:shadowDy android:shadowDx属性。

<TextView
    ......
    android:shadowDx="5"
    android:shadowDy="5"
    android:shadowRadius="10"/>

3.5 文字内容修饰

android:autoLink:如果文字中包含了特定格式的字符串,那么会高亮这个字符串,并且让用户可以点击进行进一步的操作;这个属性有none web email phone map all等多个值选用,

<TextView
    ......
    <!--网址 邮件地址 电话号码 地理位置都可以被高亮显示-->
    android:autoLink="all"/>

3.6 配图的使用

android:drawableTop android:drawableBottom android:drawableLeft android:drawableRight属性可以在文字的上下左右位置设置一个Drawable(例如图片)。

<TextView
    ......
    <!--在文字上方设置图片-->
    android:drawableTop="@mipmap/icon"
    android:text="图库"/>

/*******************************************************************/
* 版权声明
* 本教程只在CSDN安豆网发布,其他网站出现本教程均属侵权。

*另外,我们还推出了Arduino智能硬件相关的教程,您可以在我们的网店跟我学Arduino编程中购买相关硬件。同时也感谢大家对我们这些码农的支持。

*最后再次感谢各位读者对安豆的支持,谢谢:)
/*******************************************************************/

版权声明:本文为博主原创文章,禁止转载,违者必究。

UI控件之显示文本控件TextView(上)

(一)概述 TextView主要是在android中实现文字说明等功能。 (二)常用基本属性 No.1 TextView控件自带属性的使用 ...
  • MakeYourChance
  • MakeYourChance
  • 2016年06月18日 16:56
  • 2604

Android LinearLayout及TextView的布局方式

LinearLayout(线性布局) android:orientation="vertical"垂直线性布局,"horizontal"水平线性布局 android:gravity="top"(bu...
  • yiranyinger
  • yiranyinger
  • 2016年02月18日 10:05
  • 1712

TextView的实用技巧

有的时候,我们会碰到一个这样的需求,在一个段文字上,点击某个部分跳转到其他页面,或者说拨打电话或者其他操作,有人会想这个简单啊,用一个几个TextView进行布局,然后给要做操作的TextView添加...
  • fanxl10
  • fanxl10
  • 2015年04月23日 16:00
  • 591

Android布局技巧:使用TextView的drawable属性

在布局中Icon+文字组成一个视觉上的元素是非常普遍的需求,或者是成为一个可点击的整体,或者是展示某种信息。比如顶部导航栏(ActionBar或者是自已定义实现的类似功能的)都会有一个返回,通常都是一...
  • hitlion2008
  • hitlion2008
  • 2015年05月27日 22:43
  • 2281

编程那些事儿(持续更新中)

现在在用STC12C5A60S2单片机做32*128的LED点阵,各种纠结的问题是遇到不少的。当然,其实大都是一些常识性的错误,但是这些对于初学者而言,如果没有人指导,自己又不喜欢去看书,很难找到错误...
  • fushiqianxun
  • fushiqianxun
  • 2012年04月21日 15:21
  • 659

《明朝那些事儿》心得体会

这本书我看了两遍,并且还正在看第三遍。        因为它实在是太经典了。对于我来说,这些书籍中。文学名著,现代书籍首推《平凡的世界》,仙侠类首推《诛仙》,科幻类推荐《三体》和《小兵传奇》,穿越类首...
  • a1456123a
  • a1456123a
  • 2016年03月10日 11:04
  • 1974

Android TextView对齐的小技巧

在写Android布局文件时, 经常碰到如下图的TextView左右对齐的情况, 即姓名和手机号码纵向对齐。   第一种方法:  在姓和名之间加空格, 但是如果用键盘的空格会在一些机型上对齐、一...
  • brycegao321
  • brycegao321
  • 2016年08月19日 16:29
  • 3532

写出高效清晰Layout布局文件的一些技巧

原文:Android – How to write Batman like xml layout 简书(阅读体验更好):写出高效清晰Layout布局文件的一些技巧 当人们谈论Android性能的...
  • tiankong1206
  • tiankong1206
  • 2016年01月07日 22:23
  • 4863

明朝那些事儿里的王守仁

今天我想跟大家分享的是有关王守仁,也就是王阳明的成长经历。字伯安,别号阳明。我对王守仁了解的不是太多,对他的心学更是还没进行过钻研。所以今天跟大家只是进行一些浅层面的分享。各位同学多多批评指正。一直以...
  • hahawhyha
  • hahawhyha
  • 2016年05月26日 18:31
  • 1781

WEB开发那些事儿

web开发由于技术更新快、热点多、新框架层出不穷、贴近最终用户、应用范围广,造成的结果是:它是一个相当令人迷失的领域。写作此文的目的,一方面,是为了寻找一些万变不离其宗的东西,一方面,是对自己在开发过...
  • deltatang
  • deltatang
  • 2014年07月29日 17:55
  • 1880
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:布局与控件(三)-TextView那些事儿
举报原因:
原因补充:

(最多只允许输入30个字)