Android TextView常用属性

  

  【说明】 TextView是用来显示文本的组件。以下介绍的是XML代码中的属性,在java代码中同样可通过 ”组件名.setXXX()方法设置。如,tv.setTextColor();

  【属性一】

android:textColor="#000"
表示文字的颜色。

【提示】颜色可以随便写一个“#000”形式的属性值,再通过点击左边显示行号旁边的颜色显示方块,弹出来颜色选择器对颜色进行选择。
当设置的颜色为系统提供的Color资源内的颜色时,如“@color/colorAccent”,将不能通过此方法改变颜色值。(点击无效)


 【属性二】

 android:textSize="20sp"
 表示文字的大小。建议字体单位为sp,默认情况下,1sp和1dp的大小是一样的。【提示】在Android手机中是可以通过系统设置调整字体的大小,sp会随着手机设置字体的大小变化而变化,而dp不会变。(某些特殊的情况下会用dp作为单位表示字体大小

  【属性三】

android:gravity="center"

  表示TextView中的文字相对于TextView的对齐方式。(在gravity和layout_gravity区别的随笔中有详细介绍http://www.cnblogs.com/xqz0618/p/gravity.html

  【属性四】

android:background="#ccc"

表示TextView的背景颜色。(对于颜色有关可以参考前期随笔:Android颜色配置器 http://www.cnblogs.com/xqz0618/p/8882514.html

  【属性五】为TextView中的文字设置链接

android:autoLink="web"
表示自动识别文本中的链接。其属性值有
all表示匹配所有
  • 代码
1     <TextView
2         android:layout_width="wrap_content"
3         android:layout_height="wrap_content"
4         android:text="http://www.baidu.com"
5         android:background="#ccc"
6         android:gravity="center"
7         android:textColor="@color/colorAccent"
8         android:textSize="20sp"
9         android:autoLink="web"/>

  •   效果

  • 提示

                ①文本中要写链接的完整路径“http:···“

                ②文字中除了链接的地址也可以加上其他文字。

                ③文本中不能出现”&“符号会提示Unescaped & or nonterminated character/entity reference

    (具体也不是很懂,大概是因为很多特殊符号都是用”&“开头表示的吧,如”&amp;)

                 

 【属性六】TextView内容只显示单行。对于部分显示···

android:singleLine="true"

【属性值】true或者false。如果设置为true为单行输入。

  • 代码
1 <TextView
2         android:id="@+id/tv"
3         android:layout_width="wrap_content"
4         android:layout_height="wrap_content"
5         android:textSize="20sp"
6         android:text="三月,醉一场青春的流年。慢步在三月的春光里,走走停停,看花开嫣然,
看春雨绵绵,感受春风拂面,春天,就是青春的流年。青春,是人生中最美的风景。青春,是一场花开的遇见;青春,是一场痛并快乐着的旅行;
青春,是一场轰轰烈烈的比赛;青春,是一场鲜衣奴马的争荣岁月;青春,是一场风花雪月的光阴。"
7 android:singleLine="true" 8 />
  • 效果

  • 提示

  ①文字过长建议用资源文件储存。/res/values/string

  ②也可以用line,maxLine属性设置只有单行,但是没有后面省略号。

 

【属性七】行数属性

android:lines="2" 不管多大都显示两行
android:ellipsize="end"


android:maxLines="2"  超过两行只显示两行
android:ellipsize="end"
  • 代码
1 <TextView
2         android:id="@+id/tv"
3         android:layout_width="wrap_content"
4         android:layout_height="wrap_content"
5         android:textSize="20sp"
6         android:text="三月,醉一场青春的流年。慢步在三月的春光里,走走停停,看花开嫣然,看春雨绵绵,感受春风拂面,春天,就是青春的流年。
青春,是人生中最美的风景。青春,是一场花开的遇见;青春,是一场痛并快乐着的旅行;青春,
是一场轰轰烈烈的比赛;青春,是一场鲜衣奴马的争荣岁月;青春,是一场风花雪月的光阴。"
7 android:maxLines="2" 8 android:ellipsize="end"/>
  • 效果

  

  • 提示

     ①line和maxLine属性要结合ellipsize=“end”使用,多的部分用省略号显示

     ②ellipsize省略号显示的位置。start开头,middle中间(貌似只有end对应多行,其他的针对单行)

 

【属性八】省略号显示属性

android:ellipsize="middle"
android:lines="1" 
  • 代码
1  <TextView
2         android:id="@+id/tv"
3         android:layout_width="match_parent"
4         android:layout_height="wrap_content"
5         android:textSize="20sp"
6         android:text="三月,醉一场青春的流年。慢步在三月的春光里,走走停停,看花开嫣然,看春雨绵绵,感受春风拂面,
        春天,就是青春的流年。青春,是人生中最美的风景。青春,是一场花开的遇见;
        青春,是一场痛并快乐着的旅行;青春,是一场轰轰烈烈的比赛;
        青春,是一场鲜衣奴马的争荣岁月;青春,是一场风花雪月的光阴。"
7 android:maxLines="1" 8 android:ellipsize="middle"/>
  • 效果

  •  提示

  设置middle值时,只针对单行有效,如果设置多行,将没有效果(亲测)

 

【属性九】 文本可选择复制

android:textIsSelectable="true"

 

【属性值】true或者false。如果设置为true为可选择复制,默认为false。

 

【属性十】设置文字间距

  android:letterSpacing="1"

  •  代码
    <TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="三月,醉一场青春的流年。慢步在三月的春光里,走走停停,看花开嫣然,看春雨绵绵,感受春风拂面"
     android:letterSpacing="1"
     />

 

  • 效果

 

 

 

【方法一】设置自定义字体文本

    ①添加assets文件夹,把字体文件放到文件夹中,在Project视图下查看

     

  ②java代码设置字体

    把字体文件放进assets中的fonts文件夹中

     

    定义一个Typeface,后面把assets下面的完整路径填进去







posted @ 2018-04-20 15:41  茄子鱼  阅读(54573)  评论(4编辑  收藏  举报