我们知道要让TextView解析和显示Html代码。可以使用:
1 Spanned text = Html.fromHtml(source); 2 tv.setText(text);
来实现,这个用起来简单方便。
但是,怎样让TextView也显示Html中<image>节点的图像呢?
我们可以看到fromHtml还有另一个重构:
fromHtml(String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)
实现一下ImageGetter就可以让图片显示了:
1 ImageGetter imgGetter = new Html.ImageGetter() { 2 @Override 3 public Drawable getDrawable(String source) { 4 Drawable drawable = null; 5 drawable = Drawable.createFromPath(source); // Or fetch it from the URL 6 // Important 7 drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable 8 .getIntrinsicHeight()); 9 return drawable; 10 } 11 };
至于TagHandler,我们这里不需要使用,可以直接传null。