Android资源子文件夹中的图像不会显示在WebView中

时间:2013-07-24 02:09:34

标签: android webview android-assets

我在这里看到了很多类似的问题,但这些问题似乎都不是我的问题。

我正在将我的assets文件夹的子文件夹中的本地html文件加载到WebView中。该文件位于assets / myfolder / myfolder2 / test.html。

同样在assets / myfolder / myfolder2 /我有image.jpg。完整路径:assets / myfolder / myfolder2 / image.jpg

我正在加载html:

// html contains the string content of the test.html file
webView.loadDataWithBaseURL("file:///android_asset/myfolder/myfolder2/", html,
                                   "text/html", "utf-8", "about:blank");

在html字符串中,我有以下标记:

<img src="image.jpg" />

不显示图像。我已经尝试拼出完整的文件:/// url到图像,没有运气。如果我将其更改为链接到网络上的某个图像,它可以正常工作。为什么不能找到我的本地形象?

2 个答案:

答案 0 :(得分:1)

非常沮丧之后,我终于发现我无法在任何Android设备上查看此特定图像,即使是在股票浏览器中,尽管它是我认为的普通JPG图像。

我仍然不确定它有什么问题,但当我在照片编辑器中打开它并使用普通的JPG编码再次保存时,它确实有效。这包括我从WebView中的assets文件夹引用它时。

答案 1 :(得分:0)

要从资产文件夹加载html,您应该使用webview.loadUrl()

  • 我在资源文件夹中创建了两个名为“folder1”的子文件夹 和“folder2”。

  • 已将图像放入folder2

  • 已放置包含图片代码"<img src="ic_launcher.png">"

  • 的HTML文件

最后使用webView.loadUrl("file:///android_asset/folder1/folder2/test.html");

我可以在webview中看到加载的图片。