注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

是缘是情是童真

如果你用笑脸面对 你会看见别人的笑脸

 
 
 

日志

 
 

android的Html  

2011-09-29 17:39:56|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Android中文API(130) —— Html

http://www.cnblogs.com/over140/archive/2011/09/02/2163390.html

内部类

interface     Html.ImageGetter

用来检索HTML中的<img>标签。(如果实现了这个接口,当解析的时候遇到<img> 标签时会回调ImageGettergetDrawable(String source)方法,并返回一个Drawable对象,该方法参数为<img>标签的src属性的值)

interface     Html.TagHandler

用来通知当解析器遇到无法识别的标签时该作出何种处理

 

当你的TextView里加载了相当多的html标签的话,使用android.text.Html才是解决之道,因为通常TextView不是独立显示,比较在listView中,TextView只是一个item,而item本身是有click事件的,这会让TextView中的链接失效。解决办法?

 
 
 
TextView txtContent = (TextView) view.findViewById(R.id.update_content);
txtContent.setMovementMethod(LinkMovementMethod.getInstance());
txtContent.setText(android.text.Html.fromHtml(data.get(position).get("content").toString()));


关于TextView显示图片


这里需要说明一下android.text.Html.fromHtml有一个重载方法,这个重载方法就是为了解决图片显示的问题。为什么图片显示会有问题?因为TextView有一种需求,就是将信息以html标签方式显示,但并不是来自于网络。所以img标签要如何加载?

public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)
在原型中看到的,通常重点在于imageGetter的抽象方法的实现。
ImageGetter imgGetter = new ImageGetter() { 
    public Drawable getDrawable(String source) {
                Drawable drawable = null;
        try{
            drawable = Drawable.createFromStream((new URL(source)).openStream(),"tmp.jpg");
        }catch(Exception e){
            e.printStackTrace();
        }
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
                return drawable;
    }
};


通过Stream重新加载图片(一般用于网络直接下载显示)
drawable = Drawable.createFromStream((new URL(source)).openStream(),"tmp.jpg");

通过Path重新加载图片(一般用于手机本地加载图片)
drawable = Drawable.createFromPath(uri);


不过Html不是对所有标签都是万能的

通过java的正则来过滤html标签

str.replaceAll("<.*?>|&nbsp;|&middot;", "")。不过这样会把一些标签里面有用的数据给过滤掉,比如img标签里面的图片地址。所以还有待研究。

  评论这张
 
阅读(929)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018