Android中文API(130) —— Html

简介:

前言

  本章内容是android.text.Html,版本为Android 3.2 r1,翻译来自"pignut",欢迎访问他的博客:"www.pignut.net",再次感谢"pignut"!欢迎你一起参与Android的中文翻译,联系我over140@gmail.com。 

 

声明

  欢迎转载,但请保留文章原始出处:) 

    博客园:http://www.cnblogs.com/

Android中文翻译组: http://goo.gl/6vJQl

 

 

Html

译者署名: pignut

译者链接:www.pignut.net

版本:Android 3.2

 

结构

继承关系

public class Html extends Object

      

java.lang.Object

       android.text.Html

 

类概述

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

 

 

内部类

interface     Html.ImageGetter

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

 

interface     Html.TagHandler

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

 

 

公共方法

public static Spanned fromHtml (String source)

返回通过TagSoup TagSoup 是一个Java开发符合SAXHTML解析器 授权协议)解析器解析之后的可直接显示的文本,任何<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,new Html.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));

   }

 

}

 

 

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

目录
相关文章
|
2月前
|
存储 JavaScript 前端开发
HTML API
HTML API
27 3
|
8月前
|
API
使用 Schematics 创建的 Spartacus Storefront,在 index.html 里指定 OCC API url
使用 Schematics 创建的 Spartacus Storefront,在 index.html 里指定 OCC API url
41 0
|
9月前
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
249 0
|
8天前
|
移动开发 API UED
【专栏:HTML进阶篇】HTML5拖放API与触摸事件
【4月更文挑战第30天】HTML5的拖放API和触摸事件增强了网页交互设计,使开发者能创建动态响应式界面。拖放API通过设定元素的`draggable`属性、监听拖动和放置事件以及处理`DataTransfer`对象实现。触摸事件如`touchstart`、`touchmove`、`touchend`则让触控设备操作更流畅。开发者需注意事件对象、多点触控处理和防止默认行为。结合两者,可创建图片排序、手势识别等交互功能,但也需面对浏览器兼容性和复杂逻辑挑战。利用HTML5这些工具,能提升用户体验,推动网页交互设计创新。
|
17天前
|
API Android开发
Android Framework增加API 报错 Missing nullability on parameter
Android Framework增加API 报错 Missing nullability on parameter
10 1
|
2月前
|
移动开发 前端开发 API
简述HTML5 Canvas的基本绘图API及其在游戏开发中的作用。
HTML5 Canvas 提供丰富的绘图API,用于在网页上绘制图形、动画和视觉效果,支持基本形状、文本、渐变、图像及像素操作。在游戏开发中,Canvas API用于绘制游戏元素、实现动画效果、进行物理碰撞检测,并具备跨平台兼容性,为创新游戏体验提供强有力的支持。
12 1
|
2月前
|
移动开发 JavaScript Android开发
Android与Html5交互
Android与Html5交互
|
2月前
|
移动开发 API HTML5
HTML5响应式自动采集API壁纸系统源码自适应手机端
HTML5响应式自动采集API壁纸系统源码自适应手机端
41 11
HTML5响应式自动采集API壁纸系统源码自适应手机端
|
5月前
|
存储 JavaScript 前端开发
使用 HTML、CSS、JS 和 API 制作一个很棒的天气 Web 应用程序
使用 HTML、CSS、JS 和 API 制作一个很棒的天气 Web 应用程序
72 0
|
8月前
|
移动开发 JavaScript API
基于html5拖拽api实现列表的拖拽排序
基于html5拖拽api实现列表的拖拽排序
41 0