【问题标题】:Images in Android assets subfolder do not display in WebViewAndroid assets 子文件夹中的图像不显示在 WebView 中
【发布时间】:2013-07-24 02:09:33
【问题描述】:

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

我正在将本地 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" />

图像不显示。我也尝试将完整的 file:/// url 拼写到图像中,但没有成功。如果我将其更改为链接到网络上某处的图像,它就可以正常工作。为什么找不到我的本地图片?

【问题讨论】:

  • 您的资产文件夹是否标有资产?
  • @SatineKainne 是的,它被命名为 assets/
  • 屏幕上显示了什么??
  • 没什么,除了我的 标签之外,html 不包含任何其他有意义的内容,也没有加载图像。

标签: android webview android-assets


【解决方案1】:

经过一番挫折后,我终于发现我无法在任何 Android 设备上查看此特定图像,即使是在股票浏览器中,尽管我认为这是一张普通的 JPG 图像。

我仍然不确定它出了什么问题,但是当我在我的照片编辑器中打开它并使用正常的 JPG 编码再次保存它时,它起作用了。这包括当我从我的 WebView 中的资产文件夹中引用它时。

【讨论】:

  • 你最后发现问题出在哪里了吗?
  • 不,我想我从来没有这样做过。
  • 好的,我发现了我的问题:我在 finder 中复制了一个文件夹并将其粘贴到 Android Studio 中。不知何故,一些粘贴的图像大小为 0 字节!我不知道为什么,但它创建了大约 50% 的图像文件作为空文件(名称正确)。
【解决方案2】:

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

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

  • 已将图像放入folder2

  • 已经放置了一个带有图片标签"&lt;img src="ic_launcher.png"&gt;"的HTML文件

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

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

【讨论】:

  • 非常感谢您的帮助。不幸的是,我的问题似乎完全不相关,尽管我当时没有意识到这一点。图像的编码肯定有一些不同,因此它不会显示在任何安卓设备上,尽管在资产文件夹中找到它没有问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-28
  • 2021-10-07
  • 2020-01-27
  • 2018-06-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多