【问题标题】:Referencing image in assets from HTML not working从 HTML 引用资产中的图像不起作用
【发布时间】:2012-04-06 12:06:42
【问题描述】:

我正在尝试在 Android 应用的 WebView 中显示图像。该图像存在于我的 Android 项目的资产文件夹中。 HTML 以编程方式构建,其中包含此图像参考:

HTML 被加载到 WebView 中使用:

webView.loadDataWithBaseURL(urlStr, htmlText, "text/html", "utf-8", urlStr);

urlStr = 查找其他资源所需的基本 url。 htmlText = 以编程方式生成 HTML

WebView 可以正常加载 HTML,但图像显示为“缺失”。我已验证该图像存在于资产中的该位置。然而它并没有出现在 WebView 中。

我看到很多帖子和教程说这应该可以,但它不适合我。这是在 3.2 Android 平板电脑上。任何人都知道这是否仅适用于某些版本的Android?关于为什么它在我的情况下不起作用的任何想法?谢谢。

【问题讨论】:

    标签: android html image android-webview android-assets


    【解决方案1】:

     webView.loadDataWithBaseURL("file:///android_asset/", sourse, "text/html", "UTF-8", null);
    

    【讨论】:

    • 非常感谢;它在我的情况下工作。我的另一个问题是每次我们必须将图像存储到资产文件夹时,如果我有很多图像或者我全部来自网络调用怎么办!我还没有尝试过,但仍然在问。你能帮我解决如何将所有页面和隐藏内容保存在pdf中吗?这是我的问题stackoverflow.com/questions/54870164/…
    【解决方案2】:

    好的,我终于想通了。显然,如果图像路径中有空格,Android 代码中的某个地方会出现错误。所以:

    <img src="file:///android_asset/SkyInfo/images/Deep Sky/M13-Misti.jpg">
    

    将无法加载图像。如果您将其更改为:

    <img src="file:///android_asset/SkyInfo/images/DeepSky/M13-Misti.jpg">
    

    它将起作用(假设您已重命名目录)。

    注意:

    • 这只是从资产中读取时的问题。
    • 似乎是 Android 4.x 的问题。我在 4.0.4 和 4.3 版本上遇到过这个问题,但空间在 2.3.x 版本中工作得很好。

    拜托 Google,目录名称中的空格已经流行了 15 年。使用该程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 2021-04-28
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      相关资源
      最近更新 更多