android:如何在textview中显示图像

发布于 2024-12-10 09:59:16 字数 891 浏览 0 评论 0原文

如何在文本视图中显示 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:[email protected]\",\"RT:3368361715304896\",\"\")'><img src='http://www.shisoft.net/images/retweet.png' /><\/a><\/p>

这是我知道我应该使用 Html.fromHtml(String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)

,但我不知道如何获取 ImageGetter,任何人都可以帮忙吗?

How can I display a image for html in a textview?
Here is the resource

<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:[email protected]\",\"RT:3368361715304896\",\"\")'><img src='http://www.shisoft.net/images/retweet.png' /><\/a><\/p>

I know I should use the Html.fromHtml(String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)

But I don't know how to get the ImageGetter, Can anyone help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

会傲 2024-12-17 09:59:16

这对我有用,

实现 ImageGetter 直接且简单;您传递一个 ImageGetter 对象,用于获取稍后将用于填充占位符的图像。为了获取图像,ImageGetter 对象必须实现 getDrawable 方法。 getDrawable 方法必须返回将填充占位符的 Drawable 对象;但是,如果返回 null,则将使用通用图像占位符(请参阅下面的实现)。

对于 ImageGetter ,您需要重写以下方法:

public Drawable getDrawable (String  source)

要从应用程序资源中获取图像,首先在文本文件中插入一个 html 图像标签,如下所示:

<img src="my_image">

请注意,“my_image”只是一个可绘制对象的名称不是一条路。然后使用此代码在 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));

This worked for me,

Implementing a ImageGetter is straight and simple; you pass an ImageGetter object to be use to fetch the images that later will be use to fill the placeholders. In order to fetch the images the ImageGetter object must implement the getDrawable method. The getDrawable method must return the Drawable object that will fill the placeholder; but, if null is returned the generic image placeholder will be used instead (see implementation below).

For ImageGetter you need to override the method below:

public Drawable getDrawable (String  source)

To get images from the application resources first in the text file one inserts an html image tag like this:

<img src="my_image">

Note that "my_image" is just a name of a drawable not a path. Then use this code to diplay the text with images in 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));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文