在 android.text 包中,Html模块提供图文混排的能力。包括两个接口 Html.ImageGetter, Html.TagHandler,一个类 Html。三者一起提供 类似 Html 文档的显示功能。
Android中的android.text.Html类学习(补全了TagHandler部分) 介绍的很好,并有 例子。
由于需要重新实现 Html.ImageGetter ,因此有必要使用 图形加载库。
Android图片加载库的理解 对 Android-Universal-Image-Loader 做了简要介绍,结合库自身的介绍可以把 图形加载库 用起来。
Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)在配置介绍方面也有可取之处。
Android 图文混排(一) TextView实现图文显示 提供了一个综合上述二者的例子,并解决了实施过程中的一些细节问题。
Android textView展示html图片,实现图文混排,点击查看大图片 提供了glide做异步加载的例子。
结合上述文章,基本能够使用。一下文章提供了一些深入探索(源码分析)。
android.text.Html源码解析-再也不用担心图文混排什么的了
Android Html.fromHtml(String)过时的替代方法
使用API Level 23或之前的设备可以用过时的方法,API Level 24或以上的设备则使用2个参数的方法即可。
fromHtml(String source, int flags)
即:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
charSequence = Html.fromHtml(content,Html.FROM_HTML_MODE_LEGACY);}
else {
charSequence = Html.fromHtml(content);}
textView.setText(charSequence);
其中的flags表示:
FROM_HTML_MODE_COMPACT:html块元素之间使用一个换行符分隔
FROM_HTML_MODE_LEGACY:html块元素之间使用两个换行符分隔
参考