任何一个可以帮助我如何使用Html.ImageGetter显示图像使用HTML图像src标签?和示例或很好的教程Html.ImageGetter
回答
要从应用程序资源,首先得到的图像在文本文件中插入一个一个HTML图像标记是这样的:
<img src="my_image">
注意,“my_image”只是一个可绘制的名字不是路径。然后使用此代码diplay与图像中的文本的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 = myActivity.this.getResources().getDrawable(path);
drawFromPath.setBounds(0, 0, drawFromPath.getIntrinsicWidth(),
drawFromPath.getIntrinsicHeight());
return drawFromPath;
}
}, null));
如果img标签源拼写错误的应用程序了会崩溃,因为该方法将无法找到可绘制,可加入使更多的代码,以防止这...
textView.setText(Html.fromHtml(htmlToSetAsText, new ImageGetter() { @Override public Drawable getDrawable(String source) { String path = "/sdcard/" + source; Drawable bmp = Drawable.createFromPath(path); bmp.setBounds(0, 0, bmp.getIntrinsicWidth(), bmp.getIntrinsicHeight()); return bmp; } }, null));
从kape123的答案无疑帮助了我。我差不多在那里。
容易错过的位是在Drawable上调用setBounds。 Html.ImageGetter帮助文档还提供了一条线索,它说:
如果尚未设置边界,请确保在Drawable上调用setBounds()。
略微加重的部分是如何他们并不完全告诉你如何做到这一点。为什么它不默认的内在价值观也超越了我。 – Erik 2014-08-11 16:43:31
我有同样的问题。即没有设置边界。只是一个想法,他们不能抛出一个例外,以便我们能更快地了解这一点吗? – 2015-06-22 12:22:05
这里是一样的接受的答案,但作为一个顶级类(如果你想使用它从不同的地方是更好):
public class ResourceImageGetter implements ImageGetter {
private Context mContext;
public ResourceImageGetter(Context context) {
mContext = context;
}
@Override
public Drawable getDrawable(String source) {
Resources resources = mContext.getResources();
int identifier = resources.getIdentifier(source, "drawable", mContext.getPackageName());
Drawable res = resources.getDrawable(identifier);
res.setBounds(0, 0, res.getIntrinsicWidth(), res.getIntrinsicHeight());
return res;
}
}
- 1. Html.ImageGetter TextView
- 2. 只用Html.ImageGetter检索一张图片?
- 3. 使用TextView和Html.ImageGetter异步显示Android上的图像?
- 4. 在TextView中加载的图像填充
- 5. 图像在通知行中显示为'[OBJ]'
- 6. Android:用于跨度文本中的跨度的onTouch
- 7. 使用HTML在TextView中设置文本上方的图像
- 8. Html.HtmlFrom中的壁画库
- 9. 使用HTML和TextView在Android小部件上显示图像
- 10. Image Getter不工作
- 11. 管理多个asynctask从HTML代码下载多个图像,泄漏内存,任何想法?
- 12. 更改图像宽度在ImageGetter的Android match_parent或中心图像
- 13. 内嵌图像与Android中的文本
- 14. 如何在电子邮件正文中显示图片?
- 15. 试图加载下载的网页和图像
- 16. ImgGetter方法不显示来自说明xml的Html图像标签
感谢为我工作 – 2013-02-07 09:46:37
因此,我们应该更加小心图像名称例如不flower.jpg它应该是花 – mehmet 2014-06-09 19:45:12