0
点赞
收藏
分享

微信扫一扫

TextView中显示HTML和图片


最近有人咨询我如何在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内容。

如果正在阅读本文的您有什么更好的方法,请和大家一起分享!




最近有人咨询我如何在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内容。

如果正在阅读本文的您有什么更好的方法,请和大家一起分享!




最近有人咨询我如何在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内容。

如果正在阅读本文的您有什么更好的方法,请和大家一起分享!




   最近有人咨询我如何在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),这个方法使用如下所示:

  ImageGetter imgGetter = new Html.ImageGetter() {
02 public Drawable getDrawable(String source) {
03 Drawable drawable = null;
04 Log.d("Image Path", source);
05 URL url;
06 try {
07 url = new URL(source);
08 drawable = Drawable.createFromStream(url.openStream(), "");
09 } 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内容。

如果正在阅读本文的您有什么更好的方法,请和大家一起分享!

举报

相关推荐

0 条评论