最近有人咨询我如何在TextView中显示<img src=""/> html标签内的图片,大家都知道,在TextView中显示HTML内容的方法如下所示:
1. TextView description=(TextView)findViewById(R.id.description);
2. description.setText(Html.fromHtml(item.getDescription()));
如果HTML中有图片的话,显示出来的图片会被一个小框取代,那么怎么样才能看到图片呢?查看了一下API,android.text.Html还还有另一个方法:Html.fromHtml(String source,ImageGetter imageGetter,TagHandler tagHandler),这个方法使用如下所示:
1. ImageGetter imgGetter = new Html.ImageGetter() {
2. public Drawable getDrawable(String source) {
3. Drawable drawable = null;
4. Log.d("Image Path", source);
5. URL url;
6. try {
7. url = new URL(source);
8. drawable = Drawable.createFromStream(url.openStream(), "");
9. } catch (Exception e) {
10. return null;
11. }
12. drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable
13. .getIntrinsicHeight());
14. return drawable;
15. }
16. };
17. ………
18. TextView description=(TextView)findViewById(R.id.description);
19. description.setText(Html.fromHtml(item.getDescription(),imgGetter,null));
怎么样?很简单,第二个参数TagHandler是干什么的呢?从名称我们就知道是处理HTML中的标签的,比如说遇到某个标签就把它替换为….之类的操作都可以通过TagHandler来处理,呵呵,我可没试过哦,瞎猜的,程序员一定要发挥充分的想像力,自己去试一下吧!
最后我要说的是,如果你的图片是从网络上获取的,那么你一定不要用这种方法显示一张图片,因为这是最垃圾的办法,你的程序会经常被卡死。
那么有没有更好的方法呢?
也许不是最好,但我建议您可以使用WebView来显示HTML内容。
如果正在阅读本文的您有什么更好的方法,请和大家一起分享!
分享到:
相关推荐
本文将详细介绍如何在Android的TextView中显示图片和图像。 首先,我们要理解Android系统提供的一些基本资源类型,包括Drawable资源,这是用来表示图像的主要方式。在Android工程中,图片通常存储在res/drawable...
HtmlTextView是解决Android TextView显示HTML内容的一个尝试,它在早期版本的Android系统中可能表现出色,但在Android 7.0及更高版本可能需要额外的适配工作。开发者在选择使用时,应该评估其兼容性,考虑使用...
总结,针对Android TextView实现HTML图片显示,可以选择WebView方式,它适用于复杂的HTML渲染,而如果只是简单展示图片,使用`Html.fromHtml()`配合自定义`ImageGetter`会更轻量级。两种方法都能实现图片点击的交互...
这个“Android TextView显示html的demo”是一个实用的实践案例,可以帮助开发者掌握在不使用WebView的情况下在Android应用中显示HTML内容的技巧。通过深入理解和实践,开发者可以有效地提升应用的用户体验。
本文将深入探讨如何在Android的TextView中正确加载包含文字和图片的HTML内容,并解决图片显示为小方块的常见问题。 首先,我们要了解Android中的TextView默认并不支持HTML解析和渲染。为了使TextView能够处理HTML,...
二、TextView显示html文件中的图片 转javaeye:http://da-en.javaeye.com/blog/712415 我们知道要让TextView解析和显示Html代码。可以使用 Spanned text = Html.fromHtml(source); tv.setText(text); 来实现,这个...
在Android开发中,TextView是用于显示文本的基本组件,但其实它并不局限于纯文本,还能通过一些方式来显示图片。这个Demo就是关于如何在TextView中嵌入并显示图片的一个实例。以下我们将详细探讨如何利用TextView的...
本教程将详细介绍如何在 `TextView` 中使用 HTML 片段来实现文字和图片的混排,同时处理网络图片的显示。 首先,我们需要理解 `TextView` 的 `setText()` 方法。这个方法不仅能接受字符串参数,还可以接受 `...
通过一些特殊的技术,我们还可以让`TextView`显示HTML格式的文本,甚至嵌入图片。这个主题主要涉及如何利用`TextView`的特性以及第三方库来实现这一功能。 1. **HTML支持** `TextView`默认支持一部分HTML标签,如`...
在Android开发中,TextView是用于显示文本的基本组件,但其实它并不局限于纯文字展示,还可以通过多种方式嵌入图片。以下就是TextView中显示图片的四种常见方法,详细讲解如下: 1. 使用`<img>`标签(HTML内容) ...
Android TextView可以支持简单的Html标签,但大部分Html标签是不支持的或者处理得不... 3、图片是在ImageGetter中获取,ImageGetter不能和ImageSpan同时使用; 笔者通过参考大量资料和源码,解决了上述3个问题。
TextView可以接受简单的HTML格式文本,通过`Html.fromHtml()`方法,我们可以将HTML字符串转换为Spanned对象,从而在TextView中显示富文本。例如,我们可以通过`<img>`标签插入图片,使用`<font>`标签改变文字颜色。 ...
有一些第三方库,如`android-html`和`Android-TagView`,提供了更方便的方式来在`TextView`中解析和显示HTML,包括图片。这些库通常会提供更丰富的HTML支持,但需要注意的是,过度依赖第三方库可能会增加应用的体积...
为了在`TextView` 中显示带有HTML标签和图片的内容,我们需要进行一些额外的处理。标题提到的“android TextView异步加载HTML(含图片)”就是一个解决此类问题的方法。 在描述中,我们看到一行代码 `tv.setText...
在Android开发中,TextView是一个非常常见的组件,用于显示文本内容。然而,除了纯文本外,我们有时还需要在TextView中加载包含...这样,我们就成功地在TextView中实现了加载和显示带图片的HTML,且图片按比例缩放。
html文件常常是含有图片,如果需要在Textview中实现文字和图片的混排,需要使用ImageGetter。ImageGetter是Html类中一个接口,作用是给img标签获取图片内容,主要提供了一个getDrawable的方法。但很多情况下,需要...
总结一下,Android的TextView可以通过`Html.fromHtml()`和自定义的`ImageGetter`来显示HTML内容中的图片。对于本地资源,需要使用`ImageGetter`来加载和绑定图片;而对于网络资源,`Html.fromHtml()`可以直接处理。...
5. **使用Webview**:另一种方法是使用WebView控件,它可以完整地解析和显示HTML页面,包括网络图片。但是,Webview比较重,不适合只用来显示简单的HTML片段,且会引入额外的滚动行为,可能影响用户体验。 6. **...
总结,Android中的TextView不仅可以显示纯文本,还可以通过HTML、SpannableString或SpannableStringBuilder等方式插入图片,实现文字与图片的混合显示。需要注意的是,处理好图片的大小、位置以及与文字的关系,以...