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

我的个人博客

欢迎访问我的网站www.shaccp.cn,学习软件编程

 
 
 

日志

 
 

Android之TextView显示HTML文本  

2014-09-07 16:22:06|  分类: android学习笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
TextView好多时候并不只用来显示文字文本,像论坛、资讯等文本中都含有丰富的信息,包括文本、图片、超链接等等,但是WebView也不是万能的,并不是所有的场合都可以用WebView来加载,那么就还是需要TextView来实现。这里记录一下如何使用TextView来显示Html格式的富文本。或者我们也可以借此将富文本加工成Html的格式来显示。
这里记录一下,便于查找。方法很简单,因为Android本身提供了加载Html的方法...

1、转化内容格式
Spanned newsContent = Html.fromHtml(mContent, imageGetter, null);
mContent为要显示的富文本内容,首先要通过Html.fromHtml()方法将富文本转化为Spanned格式,TextView是可以显示这种格式的内容的。
第二个参数是针对富文本中的图片,系统是通过ImageGetter来解析富文本的图片,解析的过程是通过Url获取图片文件的流,然后解析流返回drawable.

2、加载Spanned格式文本
textview.setText(newContent);

3、初始化ImageGetter图片处理器
               imageGetter = new Html.ImageGetter() {

@Override
public Drawable getDrawable(String source) {
Drawable drawable = null;
URL url;
try {
url = new URL(source);
InputStream in = url.openStream();
drawable = Drawable.createFromStream(in, "");
if(drawable != null){
int width = ScreenManager
.getScreenWidth(NewsDetailActivity.this);
int height = ScreenManager
.getScreenHeight(NewsDetailActivity.this);
int w = drawable.getIntrinsicWidth();
float scalX = ((float) width / w);
int h = (int) (drawable.getIntrinsicHeight() * scalX);
// 缩放Html中的图片
drawable.setBounds(0, 0,
ScreenManager.getScreenWidth(NewsDetailActivity.this),
h);
return drawable;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
};
本文由上海安卓培训机构推荐阅读,更多精彩请浏览上海it培训官网。
  评论这张
 
阅读(81)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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