Android基础控件-TextView

来源:互联网 发布:mac mini 2017 编辑:程序博客网 时间:2024/06/09 17:11

一. 常用属性

id、gravity、text、textColor、textSize、background、singleLine、textScaleX(调整字间距)、lineSpacingExtra(设置行间距)、lineSpacingMutiplier(行间距的倍数)

maxLines(最多行数)

二. 带阴影的TextView

shadowColor:设置阴影的颜色

shadowRadius:设置阴影的模糊程度(一般设置3.0),数组越大约模糊

shadowDx、shadowDy:阴影在x、y方向的偏移量


三. 带图片的TextView

drawableTop、drawableBottom、drawableLeft、drawableRight:文字的上下左右的图片

drawablePadding:文字与图片的间距

此时的图片无法在xml中定义大小,需要在代码中设置:

// 获得tv的左/上/右/下 对应的drawable

Drawable[] drawables = tv.getCompoundDrawables();

drawables[1] .setBounds(left, top , right , bottom);

tv.setCompoundDrawables(drawables[1], drawables[2], drawables[3], drawables[4]);


四. 使用autoLink识别链接

如果设置为all的话,需要设置setMovementMethod(LinkMovementMethod.getInstance()),否则点击无效。


五. 显示Html

(1) 部分html的标签不支持,常用的标签有:

<font>、<big>、<small>:颜色和字体、字体大号、字体小号

<i>、<b>:粗斜体

<a>:链接

<img>:图片

(2) tv.setText(html的字符串对象),这样设置是没有用的,需要使用Html.fromHtml(stringHtml)转换成CharSequence接口,再调用setMovementMethod(LinkMovementMethod.getInstance())方法。


(3) 插入图片时需要使用反射tv.setText("<img src = "ic_luncher" />",  Html.ImageGetter对象);


六. SpanableString 和 SpanableStringBuilder

(1) 可以使用html和SpanableString/SpanableStringBuilder来定制文本,比如一段字符串"aabbcc",里面的abc对应的样式各不相同时,可使用该方法

(2) 简单的用法:SpanableString span = new SpanableString("这是一串字符串!");// 0-2字体为红色

        span.setSpan(new ForegroundColorSpan(Color.RED), 0 , 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

      tv.setText(span);

(3) 其它用法可查看相关API


七. 跑马灯效果

singleLine = true;

ellipsize = marquee;// 可设置不完全部分用省略号代替

focusable = "true"

focusableInTouchMode = "true"

marqueeRepeatLimit = "forever"

0 0
原创粉丝点击