zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android中文API(130) —— Html

2023-09-14 09:00:58 时间

前言

本章内容是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  标签时会回调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 p 这是测试内容 /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


没错,你可以移动式编码了:4款最好的Android设备HTML编辑器 作为出色的应用平台,Android系统不仅可以用于登录Facebook或是玩“愤怒的小鸟”,它还可以为web开发人员提供可行的移动式解决方案。然而,web开发者是不可能对那些陈旧的文本编辑器表示满意的——他们需要使用专门的代码编辑器,以便让工作更快速更便捷地完成。下面我将要介绍4款名列前茅用于Android设备的HTML编辑器,任何web开发人员都能利用它们在平板电脑上处理大量工作,或是在智能手机上进行一些快速修改。
项目中有用到IP地址采集 用的是html5 webView的方式 请参考:react native 获取设备 真实ip地址 和 ip 映射的地理位置 这里留下的坑是 Android的release包 中获得ip是没反应的 一开始以为是Android WebView的缓存问题,后来改了还是没法获得,但是在开发中却可以拿到,很奇快.
Android项目实战(十四):TextView显示html样式的文字 原文:Android项目实战(十四):TextView显示html样式的文字 项目需求: TextView显示一段文字,格式为:白雪公主(姓名,字数不确定)向您发来了2(消息个数,不确定)条消息 这段文字中名字和数字的长度是不确定的,还要求名字和数字各自有各自的颜色。