欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android的TextView与Html相结合的具体方法

程序员文章站 2023-11-04 14:14:46
android中的textview,本身就支持部分的html格式标签。这其中包括常用的字体大小颜色设置,文本链接等。使用起来也比较方便,只需要使用html类转换一下即可。比...
android中的textview,本身就支持部分的html格式标签。这其中包括常用的字体大小颜色设置,文本链接等。使用起来也比较方便,只需要使用html类转换一下即可。比如:
textview.settext(html.fromhtml(str));
一、实现textview里的文字有不同颜色
[plain]
复制代码 代码如下:

import android.text.html;   

textview t3 = (textview) findviewbyid(r.id.text3);   
t3.settext(html.fromhtml( "<b>text3:</b>  text with a " + "<a href=\"http://www.google.com\">link</a> " +"created in the java source code using html.")); 

二、textview显示html文件中的图片
我们知道要让textview解析和显示html代码。可以使用
[plain]
复制代码 代码如下:

spanned text = html.fromhtml(source);   
tv.settext(text); 

来实现,这个用起来简单方便。
但是,怎样让textview也显示html中<image>节点的图像呢?
我们可以看到fromhtml还有另一个重构:
复制代码 代码如下:

fromhtml(string source, html.imagegetter imagegetter, html.taghandler taghandler)

实现一下imagegetter就可以让图片显示了:
[plain]
复制代码 代码如下:

imagegetter imggetter = new html.imagegetter() {   
            @override  
             public drawable getdrawable(string source) {   
                   drawable drawable = null;   
                   drawable = drawable.createfrompath(source);  // or fetch it from the url   
                   // important   
                   drawable.setbounds(0, 0, drawable.getintrinsicwidth(), drawable   
                                .getintrinsicheight());   
                   return drawable;   
             }   
};  

至于taghandler,我们这里不需要使用,可以直接传null。