-
效果的使用方式
- 在java代码中使用Html.fromHtml()方法 fromHtml()方法
- 1、Spanned android.text.Html.fromHtml(String source)
2、Spanned android.text.Html.fromHtml(String source, ImageGetter imageGetter, TagHandler tagHandler)
第一种方法的使用
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textview);
String string = "<font color=\"#FF0000\">成为优秀的</font><br>"
+ "<font color=\"#00FF00\">Android开发工程师</font><br>";
textView.setText(Html.fromHtml(string));
}
使用String对象存储HTML格式的字符串,然后调用Html.fromHtml(String)方法,利用TextView的setText()方法显示。显示效果如下:
-
第二种方法的使用
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textview);
String string = "<font color=\"#FF0000\">成为优秀的</font><br>"
+ "<font color=\"#00FF00\">Android开发工程师</font><br>"
+ "<h1>测试图片</h1><p><img src=" + R.drawable.ic_launcher + "></p>";
textView.setText(Html.fromHtml(string, imgGetter, null));
}
Html.ImageGetter imgGetter = new Html.ImageGetter() {
@Override
public Drawable getDrawable(String source) {
int id = Integer.parseInt(source);
Drawable drawable = getResources().getDrawable(id);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
return drawable;
}
};
ImageGetter类中的方法getDrawable,此方法在string中检测到标签后调用
效果图: