您好,欢迎访问一九零五行业门户网

TextView使用HTML标签_html/css_WEB-ITnose

关于textview 的富文本实现方式,有2中,一种使用html来做,一种是使用spannablestring;
spannablestring太麻烦了,这里有参考:
http://www.chawenti.com/articles/16016.html
关于 textview使用html,可以参考 这篇blog
http://blog.csdn.net/johnsonblog/article/details/7741972#comments
string类是charsequence的子类,在charsequence子类中有一个接口spanned,即类似html的带标记的文本,我们可以用它来在textview中显示html。但在上面android源码注释中有提及textview does not accept html-like formatting。
android.text.html类共提供了三个方法,可以到android帮助文档查看。
public static spanned fromhtml (string source)
public static spanned fromhtml (string source, html.imagegetter imagegetter, html.taghandler taghandler)
public static string tohtml (spanned text)
经常使用的是第一个方法:
textview tv=(textview)findviewbyid(r.id.textview1); string html=textview使用html强调
斜体
+超链接html入门学习html!
颜色1 +
颜色2
标题1标题2标题3大于>小于= '1' && tag.charat(1) = '1' && tag.charat(1) <= '6') { handlep(mspannablestringbuilder); endheader(mspannablestringbuilder); } else if (mtaghandler != null) { mtaghandler.handletag(false, tag, mspannablestringbuilder, mreader); } }
如果不是默认的标签,会调用mtaghandler的handletag方法。所以,我们可以实现此接口,来解析自己定义的标签类型。
自定义一个标签,实现接口
public class gametaghandler implements taghandler { private int startindex = 0; private int stopindex = 0; @override public void handletag(boolean opening, string tag, editable output, xmlreader xmlreader) { if (tag.tolowercase().equals(game)) { if (opening) { startgame(tag, output, xmlreader); } else { endgame(tag, output, xmlreader); } } } public void startgame(string tag, editable output, xmlreader xmlreader) { startindex = output.length(); } public void endgame(string tag, editable output, xmlreader xmlreader) { stopindex = output.length(); output.setspan(new gamespan(), startindex, stopindex, spanned.span_exclusive_exclusive); } private class gamespan extends clickablespan implements onclicklistener { @override public void onclick(view v) { // 跳转某页面 ,自己实现跳转的动作,就可以点击textview中的指定文字进行自定义的动作的了 } }
然后在工程中调用方法:
       textview.settext(html.fromhtml(“点击这里跳转到游戏”,null, new gametaghandler()));
       textview.setclickable(true);
       textview.setmovementmethod(linkmovementmethod.getinstance());
其它类似信息

推荐信息