在Webview中将可绘制资源作为图像访问

3
我在我的包中有一个png文件,我只想在webview中通过html将其作为正在加载的图像的源使用。
到目前为止,我尝试了this, thisthis。但是没有一个实际起作用。
这是我如何将img标签添加到html中的方式。有人可以帮我吗?我正在尝试尽可能早地构建此应用程序(当前为4 [1.6])。
String stringPath = "fie:///android_asset/chat_bubble.png";
addOn = String.format("<img src=\"%s\" >", stringPath);
3个回答

4

我猜你是从你的项目中复制了这段代码。

有一个拼写错误:

String stringPath = "fie:///android_asset/chat_bubble.png";

应该是

String stringPath = "file:///android_asset/chat_bubble.png";

您没有关闭<img>标签:

addOn = String.format("<img src=\"%s\" >", stringPath);

应该是

addOn = String.format("<img src=\"%s\" />", stringPath);

原来一直都是那个该死的缺失了 'l' ,讨厌打字错误导致的 bug,感谢你发现了它。 - Dan F
@faradaj:你知道如何使用系统资源来实现相同的效果吗,比如@android:drawable/ic_menu_info_details.png - Luis A. Florit

2
这对我很有用,根据您的需要进行概括:

1> 将PNG文件添加到res/assets目录中。
2> 创建一个包含要显示的所有HTML代码的字符串。
3> 确保使用以下格式显示所需的图像:

"<img src=\"file:///android_asset/my_image_goes_here.png\" />"

这是示例代码:

final StringBuilder s = new StringBuilder();    

s.append("<html>");                             
s.append("<body>");
s.append("<img src=\"file:///android_asset/my_image_goes_here.png\" />");
s.append("</body>");                            
s.append("</html>");
myWebView.loadDataWithBaseURL(null, s.toString(), "text/html", "UTF-8", null);




1

尝试使用此线程,但您应该使用可绘制对象。

敬礼, 斯蒂芬


完全没有帮助,那只是上面更多的重复。被接受的答案仅适用于2.2+,而我目前在我的代码中使用它作为资产。 - Dan F

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接