java - 尝试在 android 中的 Strings.xml 中的 textView 中设置图像

标签 java android xml

我正在尝试设置存储在 strings.xml 中的 asset 文件夹中的图像,并将该字符串设置为 TextView。这可能吗?

Strings.xml 具有以下字符串:

<string name="nofriends">No Friends.. <![CDATA[<br><br><br><br> <img src=\"file:///android_asset/sad.png\"/>]]></string>

在我的 java 文件中,我设置了类似的内容”

Spanned text = Html.fromHtml(res.getString(R.string.nofriends));
noFriends.setText(text);

我收到带有小绿框的文本,但不是实际图像?

谁能帮我解决这个问题吗?

最佳答案

您可以使用 ImageGetter 从可绘制资源中获取图像。

ImageGetter imageGetter = new ImageGetter() {

    @Override
    public Drawable getDrawable(String source) {
        Drawable d = getResources().getDrawable(R.drawable.yourimage);
        d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
        return d;
    }
};

Spanned spanned = Html.fromHtml(
    "<img src='" + getResources().getDrawable(R.drawable.yourimage) + "'/>", imageGetter, null);

现在将其设置为 TextView

textView.setText(spanned);

编辑

<string name="nofriends">No Friends.. ####</string> //#### to replace with image

String s=res.getString(R.string.nofriends);
s=s.replace("####",spanned);
textView.setText(s);

关于java - 尝试在 android 中的 Strings.xml 中的 textView 中设置图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25636311/

相关文章:

java - 使用 JavaPoet 生成自引用泛型

java - 这个 for 循环可以转换为 IntStream 吗?

java - 每次 JComboBox 更改时如何更新 JLabel?

android - View 中额外 8dp 边距背后的原因?不是解决方法

android - 更新Android Studio后gradle同步失败

html - 博主 <b :template-skin> error bX-d55p58

java - Java 中的 Thread.yield() 和 Thread.sleep(0) 有什么区别?

android - 滚动时 BaseAdapter 导致 ListView 乱序

xml - Scala:如何从一些集合中创建 XML 节点

php - 具有多个参数的 SOAP XML 函数调用