我的数据以db格式存储在html格式中。
图像以base64格式存储(作为db中的字符串)。
我正在尝试显示此数据。
我的textView设置如下:
的setText(Html.fromHtml(内容));
“内容”中的所有html标记都正确显示。除了'img'标签(包含base64编码图像)。
所以,我的问题是: 'Html.fromHtml'的标签'img'可以解码带有base64图像的字符串吗?
p.s:标签只显示一个灰色方块的地方。没有错误。
THX。
答案 0 :(得分:1)
将Html.fromHtml
与您自己的Html.ImageGetter
实施结合使用。
请参阅here。
覆盖Html.ImageGetter.getDrawable
时,将Base64字符串转换为字节数组(您可以使用android.util.Base64
)并将其输入BitmapFactory.decodeByteArray
以生成Bitmap
然后您可以传入BitmapDrawable
的构造函数返回。
例如:
Html.fromHtml(content, new Html.ImageGetter() {
@Override
public Drawable getDrawable(String source) {
byte[] data = Base64.decode(source, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
return new BitmapDrawable(getResources(), bitmap);
}
}, null);