gpt4 book ai didi

android - 是否可以在 Android TextView 中显示来自 html 的内联图像?

转载 作者:行者123 更新时间:2023-11-30 05:04:49 24 4
gpt4 key购买 nike

给定以下 HTML:

<p>This is text and this is an image <img src="http://www.example.com/image.jpg" />.</p>

是否可以使图像渲染?使用此代码段时:mContentText.setText(Html.fromHtml(text)); ,我得到一个带有黑色边框的青色框,让我相信 TextView 对 img 标签是什么有所了解。

最佳答案

如果您查看 documentation for Html.fromHtml(text) 你会看到它说:

Any <img> tags in the HTML will display as a generic replacement image which your program can then go through and replace with real images.

如果您不想自己进行替换,可以使用 the other Html.fromHtml() method这需要 Html.TagHandler 和一个 Html.ImageGetter 作为参数以及要解析的文本。

在您的情况下,您可以解析 null至于Html.TagHandler但你需要自己实现 Html.ImageGetter因为没有默认实现。

但是,您将遇到的问题是 Html.ImageGetter需要同步运行,如果您从 Web 下载图像,您可能希望异步运行。如果您可以在应用程序中添加任何要显示为资源的图像,那么您的 ImageGetter实现变得简单多了。你可以逃脱这样的事情:

private class ImageGetter implements Html.ImageGetter {

public Drawable getDrawable(String source) {
int id;

if (source.equals("stack.jpg")) {
id = R.drawable.stack;
}
else if (source.equals("overflow.jpg")) {
id = R.drawable.overflow;
}
else {
return null;
}

Drawable d = getResources().getDrawable(id);
d.setBounds(0,0,d.getIntrinsicWidth(),d.getIntrinsicHeight());
return d;
}
};

尽管如此,您可能想找出更智能的方法来将源字符串映射到资源 ID。

关于android - 是否可以在 Android TextView 中显示来自 html 的内联图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54741834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com