TextViewForFullHtml
Introduction: init commit
Tags:
TextViewForFullHtml 是对原生 TextView 解析 Html 格式文本的增强。
原生 TextView 对 Html 的支持
原生的 TextView 同样支持 Html 的显示,但是 Develop Doc 里面也写了,并不是支持所有的 Html 标签,例如,font 的 size,默认的 Android 系统只支持 small、normal、big 三种,但是不支持具体的字号,比如 textsize=14 这种。
TextViewForFullHtml
TextViewForFullHtml 这个库的目的在于在同一个 TextView 中给不同的文字设置不同大小的字体,当然,顺便也支持了其他的一些效果,比如对齐方式、字体风格等。
具体可以看示例图:

代码使用示例
目前给出的 String 示例是 ActionScript 的,Html 应该也可以支持(需要具体测试)。
String mContentTextSize = "<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Microsoft Yahei,微软雅黑\" SIZE=\"24\" COLOR=\"#333333\" LETTERSPACING=\"0\" KERNING=\"0\"><FONT SIZE=\"40\">我是很大的字……</FONT>我居然比旁边的字小<FONT SIZE=\"14\">我最小...啊啊啊</FONT><FONT SIZE=\"12\">......居然可以设置不同的字体字号</FONT></FONT></P></TEXTFORMAT>";
String mContentGravityCenter = "<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"CENTER\"><FONT FACE=\"Microsoft Yahei,微软雅黑\" SIZE=\"24\" COLOR=\"#333333\" LETTERSPACING=\"0\" KERNING=\"0\">我先来个居中对齐!</FONT></P></TEXTFORMAT>";
String mContentGravityRight = "<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"RIGHT\"><FONT FACE=\"Microsoft Yahei,微软雅黑\" SIZE=\"24\" COLOR=\"#333333\" LETTERSPACING=\"0\" KERNING=\"0\">我是来右对齐的!</FONT></P></TEXTFORMAT>";
String mContentStyle = "<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Microsoft Yahei,微软雅黑\" SIZE=\"24\" COLOR=\"#333333\" LETTERSPACING=\"0\" KERNING=\"0\">我可以设置很多不同的字体风格,比如:<B>加粗</B>、<I>斜体</I>、<U>下划线</U>。</FONT></P></TEXTFORMAT>";
String mContentUrl = "<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Microsoft Yahei,微软雅黑\" SIZE=\"24\" COLOR=\"#333333\" LETTERSPACING=\"0\" KERNING=\"0\">我可以设置一个超链接,牛逼吗 <FONT COLOR=\"#0000ff\"><A HREF=\"我是超链接\" TARGET=\"_blank\"><FONT COLOR=\"#6698ff\"><U>快戳我看看</U></FONT></A></FONT></FONT></P></TEXTFORMAT>";
使用方法:
// 示例:演示设置不同文字的字体大小
TextViewForFullHtml textViewTextSize = new TextViewForFullHtml(this);
textViewTextSize.loadContent(mContentTextSize);
// 示例:演示设置不同文字的对齐风格——居中
TextViewForFullHtml textViewGravityCenter = new TextViewForFullHtml(this);
textViewGravityCenter.loadContent(mContentGravityCenter);
// 示例:演示设置不同文字的对齐风格——右对齐
TextViewForFullHtml textViewGravityRight = new TextViewForFullHtml(this);
textViewGravityRight.loadContent(mContentGravityRight);
// 示例:演示设置不同文字的字体风格
TextViewForFullHtml textViewStyle = new TextViewForFullHtml(this);
textViewStyle.loadContent(mContentStyle);
// 示例:演示设置不同文字的超链接
TextViewForFullHtml textViewUrl = new TextViewForFullHtml(this);
textViewUrl.loadContent(mContentUrl);
使用非常简单,用 TextViewForFullHtml 替换掉 TextView 并调用 loadContent 方法即可。
