结构

继承关系

public class Html extends Object

java.lang.Object

android.text.Html

类概述

该类主要用来格式化html格式的文本,像浏览器一样对html标签进行解析,渲染输出,但并不是所有的标签都被支持!(译者注:当然你自定义的标签默认肯定不被支持,但可以通过实现Html.TagHandler这个接口来自我解析。下面会讲到。)

内部类

interface     Html.ImageGetter

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

interface     Html.TagHandler

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

公共方法

public static Spanned fromHtml (String source)

返回通过TagSoup (TagSoup 是一个Java开发符合SAX的HTML解析器 授权协议)解析器解析之后的可直接显示的文本,任何<img>则由默认的一般图片所替代,当然也可以通过实现Html.ImageGetter接口来显示真正的图片。

参数

source      待处理的html文本

         public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)

同上,不同的是当遇到img标签,或解析器无法识别的标签时分别触发注册的两个对象来进行处理。

参数

source               为待处理的html文本

imageGetter    Html.ImageGetter对象

tagHandler       Html.TagHandler 的

public static String toHtml (Spanned text)

该方法完全可以理解为fromHtml()的可逆函数,将Spanned 类型的文本还原为HTML文本。

补充

文章精选

android开发:TextView中显示HTML和图片

android TextView HTML富文本应用

示例代码

public class Main extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

TextView tv = (TextView) findViewById(R.id.demo);

// 貌似都不支持HTML标签的属性,及CSS样式,下面使用到的字体颜色都不被支持

//String html = "<h2>html测</h2><pstyle='color:red;'>这是测试内容</p><p><imgsrc='http://www.baidu.com/img/baidu_sylogo1.gif'></p>";

String html = "<h2>html测试</h2><p font='red'>这是测试内容</p><p><img src='http://www.baidu.com/img/baidu_sylogo1.gif'></p>";

tv.setText(Html.fromHtml(html,newHtml.ImageGetter(){

@Override

public Drawable getDrawable(String source) {

Drawable myDrawable = null;

try {

myDrawable = Drawable.createFromStream(newURL(source).openStream(), "baidu_sylogo1.gif");

catch (MalformedURLException e) {

e.printStackTrace();

catch (IOException e) {

e.printStackTrace();

}

myDrawable.setBounds(0, 0, myDrawable.getIntrinsicWidth(), myDrawable.getIntrinsicHeight());

return myDrawable;

}},null));

}

}

本文转自博客园农民伯伯的博客,原文链接:Android中文API(130) —— Html,如需转载请自行联系原博主。

Android中文API(130) —— Html相关推荐

  1. Android 中文API (94) —— MediaController

    前言 本章内容是android.widget.MediaController,版本为Android 2.3 r1,翻译来自"唐明",再次感谢"唐明" !期待你一 ...

  2. Android 中文 API 文档 (45) —— AbsoluteLayout.LayoutParams

    前言 本章内容是 android.widget.AbsoluteLayout.LayoutParams,版本为Android 2.2 r1,翻译来自"绵白糖",再次感谢" ...

  3. Android 中文API (92) —— MenuInflater

    前言 本章内容是android.view.MenuInflater,版本为Android 2.3 r1,翻译来自"獨鍆躌踄",欢迎大家访问他的博客:http://www.cnblo ...

  4. Android 中文 API (90) —— WindowManager

    一.结构 public interface WindowManager extends android.view.ViewManager android.view.WindowManager 二.概述 ...

  5. Android 中文API (70) —— BluetoothDevice[蓝牙]

    前言 本章内容是 android.bluetooth.BluetoothDevice,为Android蓝牙部分的章节翻译.蓝牙设备类,代表了蓝牙通讯国足中的远端设备.版本为 Android 2.3 r ...

  6. Android中文API(127) —— MessageQueue

    结构 继承关系 public class MessageQueue extends Object java.lang.Object android.os.MessageQueue 类概述 保存消息列表 ...

  7. android 中文 API (41) —— RatingBar.OnRatingBarChangeListener

    前言 本章内容是 android.widget.RatingBar.OnRatingBarChangeListener,版本为Android 2.2 r1,翻译来自madgoat,欢迎大家访问他的博客 ...

  8. Android 中文API (91) —— GestureDetector

    前言 本章内容是android.view.GestureDetector,版本为Android 2.3 r1,翻译来自"Haiya 胡蝶",再次感谢"Haiya 胡蝶&q ...

  9. Android 中文 API (93) —— BaseExpandableListAdapter

    前言 本章内容是android.widget.BaseExpandableListAdapter,版本为Android 2.3 r1,翻译来自"天涯明月刀",欢迎大家访问他的博客: ...

最新文章

  1. Python 的编码问题UnicodeDecodeError: 'ascii' codec can't decode byte ××× in postition
  2. spring配置文件import标签中使用${}占位符获得配置文件的属性值
  3. 初等数论--原根--原根间的关系,原根个数
  4. c语言数组算n阶乘,c语言中如何计算n的阶乘
  5. Android 网络编程系列(3)WebView 详解
  6. Unity3D常见面试题
  7. mysql数据库已连接数据库_001. 【已解决】Java连接MYSQL 数据库的连接步骤
  8. iOS发展系列II - UILabel 使用摘要
  9. sdio接口_单片机基础 —— 使用SDMMC接口读写SD卡数据
  10. Vue -- 如何在 span 标签上实现一个点击事件
  11. ci php做记录删除,PHP CI APC 使用记录
  12. Linux内核分析课程期中总结
  13. Automatic Judge
  14. 18句正能量话语,送给自己也送给你
  15. 猜拳游戏c语言编程,C语言实现的猜拳游戏代码分享
  16. 基于C++的校园一卡通管理系统
  17. iCode代码托管的一些基本指令
  18. 周遭心理学的应用-什么是心理学?
  19. 生物信息学在线服务器,48个实用的生信在线工具强烈推荐,不看是你的损失!...
  20. 大学本科计算机专业那些课 左飞

热门文章

  1. json html显示中文乱码,后台请求json文件,中文出现乱码
  2. python 扑克牌中的顺子
  3. go 定义一个结构体并赋初始值_Go中必须谈论的四个迷点
  4. 在Windows10上安装ROS并测试
  5. java readtimeout_Java HttpURLConnection.getReadTimeout方法代码示例
  6. 怎样用springboot开发cs_SpringBoot分布式任务中间件开发 附视频讲解 (手把手教你开发和使用中间件)...
  7. 混沌动力学行为研究-分叉图
  8. tensorflow2版本学习教程1-mnist数据集手写字体
  9. mfc vs2013 项目怎么更改类名_VS2010 更改MFC标题及标题栏图标和exe图标
  10. OpenCV学习笔记大集锦