base64图像和html.fromhtml android

时间:2012-05-14 16:03:06

标签: android base64

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

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

我正在尝试显示此数据。

我的textView设置如下:

  

的setText(Html.fromHtml(内容));

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

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

p.s:标签只显示一个灰色方块的地方。没有错误。

THX。

1 个答案:

答案 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);