如果希望普通TextView 中的文本显示不同的风格,有的加粗,有的是链接,则有以下2种方法:
方法一:采用Html.fromHtml方法
mBox = new TextView(context);
mBox.setText(Html.fromHtml("<b>" + title + "</b>" + "<br />" +
"<small>" + description + "</small>" + "<br />" +
"<small>" + DateAdded + "</small>"));
目前支持的html标签名册:
<a href="..."> <!-- 表示一个链接 --> <b> <!-- 加粗 --> <big> <!-- 放大字体--> <blockquote> <!-- 标签定义块引用--> <br> <!-- 换行 --> <cite> <!-- 标签来定义作品的标题--> <dfn> <!--标签可标记那些对特殊术语或短语的定义 --> <div align="..."> <!--标签可以把文档分割为独立的、不同的部分 --> <em> <!--把文本定义为强调的内容。 --> <font color="..." face="..."> <!-- <font> 规定文本的字体、字体颜色。 注意:字体大小是不支持的--> <h1> <h2> <h3> <h4> <h5> <h6> <!-- 标签可定义标题。<h1> 定义最大的标题。<h6> 定义最小的标题。 --> <i> <!-- 标签呈现斜体的文本 --> <img src="..."> <!-- 表示插入图片 --> <p> <!-- 表示一个段落 --> <small> <!--标签呈现小号字体效果。--> <strike> <!-- 标签可定义加删除线文本定义。 --> <strong> <!-- 强调文本 --> <sub> <!--标签可定义下标文本。 --> <sup> <!--标签可定义上标文本。 --> <tt> <!-- 标签呈现类似打字机或者等宽的文本效果--> <u> <!-- 标签可定义下划线文本。 -->参考google论坛: http://code.google.com/p/android/issues/detail?id=8640
方法二:采用android的配置style
Textview tv = (TextView)findViewById(R.id.textview);
SpannableString text = new SpannableString(myString);
text.setSpan(new TextAppearanceSpan(getContext(), R.style.style1),0,1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //用style1的风格
text.setSpan(new TextAppearanceSpan(getContext(), R.style.style2),2,3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //用style2的风格
tv.setText(text, TextView.BufferType.SPANNABLE);