4

我的数据以 html 格式存储在 db 上。

图像以 base64 格式存储(作为 db 中的字符串)。

我试图展示这些数据。

我的 textView 设置如下:

setText(Html.fromHtml(内容));

“内容”中的所有 html 标记都正确显示。除了“img”标签(它包含一个 base64 编码图像)。

所以,我的问题是:'Html.fromHtml'的标签'img'可以解码带有base64图像的字符串吗?

ps:标签所在的地方只是显示了一个灰色的小方块。没有错误。

谢谢。

4

1 回答 1

1

结合Html.fromHtml您自己的Html.ImageGetter.

这里

覆盖时Html.ImageGetter.getDrawable,将 Base64 字符串转换为字节数组(您可以使用android.util.Base64)并将其输入BitmapFactory.decodeByteArray以生成 a Bitmap,然后您可以将其传递给 a 的构造函数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);
于 2012-05-14T17:02:13.087 回答