如何在textview中显示html的图像? 这是资源
<blockquote>小浪观剧团:<p>【郭德纲《今夜有戏-济公传》】@北京德云社 15周年庆@郭德纲 相声专场演出,最新一季《济公传》,天津卫视@今夜有戏 整合全程播出。 http://t.cn/asLuvf 点击进入“德云社15周年系列演出新浪独家视频专题”http://t.cn/aogRf9<br/><a href='http://ww3.sinaimg.cn/large/5e1f33eftw1dm3fva4u3lj.jpg' target='_blank' ><img src='http://ww3.sinaimg.cn/thumbnail/5e1f33eftw1dm3fva4u3lj.jpg'><\/a><\/p><blockquote><p><a href='javascript:Action(\"sinat:qq357068756@163.com\",\"RT:3368361715304896\",\"\")'><img src='http://www.shisoft.net/images/retweet.png' /><\/a><\/p>
我知道我应该使用Html.fromHtml(String source,Html.ImageGetter imageGetter,Html.TagHandler tagHandler)
但我不知道如何获得ImageGetter,任何人都可以帮忙吗?
答案 0 :(得分:4)
这对我有用,
实现ImageGetter简单明了;您传递ImageGetter对象以用于获取稍后将用于填充占位符的图像。为了获取图像,ImageGetter对象必须实现getDrawable方法。 getDrawable方法必须返回将填充占位符的Drawable对象;但是,如果返回null,则将使用通用图像占位符(请参阅下面的实现)。
对于ImageGetter
,您需要覆盖以下方法:
public Drawable getDrawable (String source)
要首先在文本文件中从应用程序资源获取图像,请插入一个html图像标记,如下所示:
<img src="my_image">
请注意,“my_image”只是一个drawable的名称,而不是一个路径。然后使用此代码在TextView
中使用图像显示文本 myTextView.setText(Html.fromHtml(myText, new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
Drawable drawFromPath;
int path = myActivity.this.getResources().getIdentifier(source, "drawable", "com.package...");
drawFromPath = (Drawable) myActivity.this.getResources().getDrawable(path);
drawFromPath.setBounds(0, 0, drawFromPath.getIntrinsicWidth(), drawFromPath.getIntrinsicHeight());
return drawFromPath;
}
}, null));