一. 常用属性
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"