1.让textview显示html内容,可以把html内容格式化,例如href处理后可以点击
Textview textview = (TextView)findviewbyid(viewid);
textview.setText(Html.fromHtml(source));
eg. textview.setText(Html.fromHtml("<a href='http://www.google.cn'>google </a>"));
另外一种做法是在textview的声明中让其自动使用web内容,如下:
- <TextView
- android:id="@+id/testweb"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web" //是将文本的web网址解释成超链接
- android:text="@string/link_text_auto"
- />
2.让TextView也显示Html中<image>节点的图像
如果直接使用textview.setText(Html.fromHtml("<img src='http://....'></img>"))的话,图像并不能显示出来,会成为一个小方块,所以要用html.fromhtml就不行了。使用另外一个接口:fromHtml(String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)。
这个函数对应的实现是:
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。