base64图像和html.fromhtml android
我的数据以html格式存储在数据库中 图像以base64格式存储(以db中的字符串形式) 我试图展示这些数据 我的文本视图设置如下: setText(Html.fromHtml(content)) “内容”中的所有html标记都正确显示。除了“img”标记(包含base64编码图像) 所以,我的问题是: “Html.fromHtml”的标记“img”可以解码具有base64图像的字符串 p、 s:标签所在的地方只是一个小小的灰色正方形。没有错误base64图像和html.fromhtml android,android,base64,Android,Base64,我的数据以html格式存储在数据库中 图像以base64格式存储(以db中的字符串形式) 我试图展示这些数据 我的文本视图设置如下: setText(Html.fromHtml(content)) “内容”中的所有html标记都正确显示。除了“img”标记(包含base64编码图像) 所以,我的问题是: “Html.fromHtml”的标记“img”可以解码具有base64图像的字符串 p、 s:标签所在的地方只是一个小小的灰色正方形。没有错误 thx.将Html.fromHtml与您自己的Ht
thx.将
Html.fromHtml
与您自己的Html.ImageGetter
实现结合使用
看
重写Html.ImageGetter.getDrawable
时,将Base64字符串转换为字节数组(可以使用android.util.Base64
)并将其馈送到BitmapFactory.decodeByteArray
以生成位图
,然后将其传递到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);
我遇到了这个错误:“Base64无法解析。”我正在使用Android 1.6。“getResources”表示:对于类型new Html,getResources()方法未定义。ImageGetter(){}Android 1.6不包含Android.util.Base64。现在我用这个。但是getResources仍然返回错误。您需要从
上下文中获取它,在返回bitmapDrawable之前,请使用以下命令:bitmapDrawable.setBounds(0,0,bitmapDrawable.getIntrinsicWidth(),bitmapDrawable.getIntrinsicHeight())代码>