这种形式,其实还是html格式。
如要显示:图片一<img src="img1"/>
说明:图片资源放在drawable目录下
实现代码:
==================================================
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
show = (TextView) findViewById(R.id.show);
String html = "图片一<img src='img1'/>";
CharSequence charSequence = Html.fromHtml(html, new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
// 获取系统资源的信息
Drawable drawable = getResources().getDrawable(
getResourceId(source));
// 设置图片的位置
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
return drawable;
}
}, null);// 支持html
show.setText(charSequence);
}
//通过反射机制获取资源id,(通过图片的名称获取)
public static int getResourceId(String name) {
try {
// 根据资源id的变量名称获得Field的对象,使用反射机制来实现
Field field = R.drawable.class.getField(name);
// 取得并返回资源的id的字段(静态变量)的值,使用反射机制
return Integer.parseInt(field.get(null).toString());
} catch (Exception e) {
// 处理异常
}
return 0;
}
效果图: