Android TextView分享

TextView是安卓里面用的最多的控件,有木有?
但是我们真的就非常了解它吗?不一定哦,各位看官请看下面一个个属性的分析
1.  android:autoLink 这个属性有4个值得讲的可选值 web/phone/email/map,当TextView的字符串满足相应的条件的时候,它就会变成一个链接形式。那各个参数都需要满足什么条件呢?
     a.   web   网站形式,如: www.baidu.com
     b.   phone  电话形式 如:13480714652
     c.   emali    邮箱形式 如:  [email protected]
     d.   map   地图形式,如:1912 Avenue K Plano,Texas 75074 (中文意思是: 美国德克萨斯州普莱诺市K大道1912号 邮编75074)    注意,目前安卓只支持美国的地址自动转化为超链接,其他地方不行。比如中国北京天安门

2.  android:drawableLeft  这个属性可以在文本的左边显示一张图片,个人感觉可以用来做登陆的时候,在密码两个字前面放个 锁的图标。当然还有其他一些用。
     类似的,还有android:drawableTop在文本上面设置一张图片;android:drawableRight在文本右边设置一张图片,android:drawableBottom在文本下面显示一张图片

3.  android:ellipsize="marquee" 走马灯效果。
不过因为Android的缺省行为是在控件获得焦点之后才会显示走马灯效果,所以,有两个属性必须设置,就是
android:focusable="true"
android:focusableInTouchMode="true"

所以,完整的走马灯效果代码应该是
<TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:singleLine="true"    //单行显示,多行无所谓走马灯了
        android:marqueeRepeatLimit="marquee_forever"  //设置循环次数,这是无数次
        android:ellipsize="marquee"  //走马灯
        android:focusable="true"  //表示View能否获取到焦点,默认用户不能移动焦点是一个View上面。
        android:focusableInTouchMode="true"   //控制View在触摸模式下可以获取到焦点。
        android:text="@string/marquee"
        />
那类似的,
android:ellipsize="start"                表示如果字符串过长,省略号在开头 
android:ellipsize="middle"            字符串过长,省略号在中间
android:ellipsize="end"                字符串过长,省略号在尾部

4. android:gravity表示TextView里面字符串的位置,left表示居左。

5. android:padding和android:layout_margin
这个地方是个比较模糊的概念,
padding表示的TextView内部,内部文本和边框的距离
layout_margin表示TextView这个控件和父视图的距离

一言以蔽之:安卓里面凡是带了layout开头的属性都是和父控件有关的属性,而没有带layout开头的属性,就单单是指这个控件本身的属性。

下面画了个图来表示这种关系,不知道大家能不能看到。。
 

6.  android:ems 用来限制TextView的宽度,比如android:ems="1"表示,这个TextView只有一个中文字符宽,如果字符串过长,则纵向显示。

7.  android:lines="4" TextView显示4行,即使没有那么多字符也要占这么多行。 但是如果字符串过多,后面的字符就不能显示。

8.  android:lineSpacingExtra="20dip" 设置行间距,比如你的TextView有多行的时候,每行之间的距离。

9.  android:shadowColor 设置阴影颜色,android:shadowRadius设置阴影半径
如:
android:shadowRadius="3.0"
android:shadowColor="@color/red"
这样我们的字符串就会有一个红色的阴影,很好看哦~~~

大体写这么多。。
抛砖引玉,仅当参考~

转自: http://bbs.51cto.com/thread-1011643-1.html

你可能感兴趣的:(Android TextView分享)