【发布时间】:2014-04-18 06:44:08
【问题描述】:
我正在尝试使用 Html.fromHtml() 在 TextView 中添加一些文本和图像,但它不起作用。
从资源中获取字符串并调用Html.fromHtml():
String insertedText = "<img src=\"small_image\"/>";
String strText = getResources().getString(R.string.big_string, insertedText);
myTextView.setText(Html.fromHtml(strText, context, null));
其中 context 是一个也实现 ImageGetter 的活动。这是 getDrawable 函数:
public Drawable getDrawable(String source) {
int id = 0;
Drawable drawable = null;
if(source.equals("small_image")){
id = R.drawable.small_image;
}
if (id > 0) {
drawable = getResources().getDrawable(id);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
}
return drawable;
}
在 values.xml 文件中,我有:
<string name="big_string">"Big String %1$s"</string>
我在 drawable 文件夹中有 small_image.png,在调试时,我可以看到 id 获得了正确的值,然后将位图加载到 drawable 变量中,但它仍然呈现写有“obj”的矩形。
知道为什么会这样吗?
我还尝试使用 SpannableStringBuilder 并添加一个图像跨度,该跨度将替换我的文本中的“空格”,但这也不起作用。
【问题讨论】:
标签: java android html textview