Board logo

标题: 灵活高效的在 Android Native App 开发中显示 HTML 内容(2) [打印本页]

作者: look_w    时间: 2018-11-2 16:17     标题: 灵活高效的在 Android Native App 开发中显示 HTML 内容(2)

通过 TextView 显示 HTML 内容及用户交互Android 中的 TextView 组件常用于显示文本内容,其实它也可以显示 HTML 的内容。简单来讲,这就需要先把 HTML 的内容以字符串的形式获取后,经过 android.text.Html.fromHtml()转化成 Spanned 的格式,然后将其传递到 TextView 的 setText()方法中,这样就可以在 TextView 中显示 HTML 页面的内容了。需要注意的是,并不是所有的 HTML 标签在 TextView 中都是支持的,且官方文档并没有明确的说明支持 HTML 标签列表,通过查看 Android 源代码,可以得到简单的支持列表。
1
{<br>,< p>,< div align=>,< strong>, <b>, <em>, <cite>, <dfn>, <i>, <big>, <small>, <font size=>,  <font color=>, <blockquote>, <tt>, <a href=>, <u>, <sup>, <sub>, <h1>,<h2>,<h3>,<h4>,<h5>,<h6>, <img src=>, <strike>}




下面的示例来介绍如何在 TextView 中显示一段 HTML 内容,要显示的这段 HTML 内容即包含超链接内容,也包含有图片,示例中也会演示如何在图片上注册点击事件来完成用户交互,工程代码可以再附件中直接下载(附链接)。
在 TextView 中显示 HTML 内容显示的过程中最主要的过程就是调用 Android.text.Html 类提供的 fromHtml()方法,将一段 HTML 内容转化为 Spanned 对象。
Android.text.Html 类提供的 fromHtml()方法使用如下

清单 4. fromHtml()方法定义
1
2
3
4
5
6
7
public static Spanned fromHtml(String source, ImageGetter imageGetter,
    TagHandler tagHandler) {
        ……
HtmlToSpannedConverter converter =
new HtmlToSpannedConverter(source, imageGetter, tagHandler,  parser);
return converter.convert();
}









欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0