最近遇到了一个需要将一串字符串分段以不同的字体、颜色、大小显示到View中的问题,本来很简单,我们在布局多开几个TextView分别设置格式就行了,但同事说有其他更简洁的办法。一查资料还真发现TextView竟然支持Html标签!
通过Html
类将我们的标签字符转换一下,然后直接设置给View就可以达到分段变换格式的目的了。下面简单罗列三种比较常见的用法:
- 1.变换字体大小和颜色
String pre = "pm";
String time = "18:00";
mText.setText(Html.fromHtml("<b><small><font color=#ff0000>" + pre + "</b><small/><font/>" +
"<big>" + time + "</big>"));
-
效果图
-
2.换行、斜体
String skew = "the same textview";
mText.setText(Html.fromHtml(skew+"<br />"+"<i>"+skew));
-
效果图
- 3.超链接(其实在布局中通过android:autoLink属性设置最简单)
String baidu="百度";
mText.setText(Html.fromHtml("<a href=\"http://www.baidu.com\">"+baidu));
mText.setMovementMethod(LinkMovementMethod.getInstance());
如果没通过setMovementMethod
方法为该链接添加响应,是不会生效的哦~
-
效果图
网友评论