怎样让TextView 中显示多种风格

来源:互联网 发布:雪梨cherie的淘宝店铺 编辑:程序博客网 时间:2024/04/28 12:49

如果希望普通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);