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。
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。
推荐阅读
-
android教程之textview解析带图片的html示例
-
Android的TextView与Html相结合的具体方法
-
Android TextView设置背景色与边框的方法详解
-
Android的文本(textView)与编辑文本(editView)简单介绍
-
android教程之textview解析带图片的html示例
-
Android在TextView中设置局部文字的样式(HTML和SpannableString两种方式)
-
Android的文本(textView)与编辑文本(editView)简单介绍
-
如何看待用 HTML5 技术开发的 web 应用与 Android 或 iOS 等原生应用的关系?
-
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
-
Android TextView设置背景色与边框的方法详解