0

我在显示带有额外图像(存储为资产)的静态 html 文件时遇到了一些问题,例如About.html

<html>
 <body>
  <div style="text-align:center;">
   <p>Some text in utf-8</p>
   <img src="image.png"/>
  </div>
 <body>
<html>

在第一种方法中,我尝试将我的内容显示为:

webView.loadUrl("file:///android_asset/About.html");

几乎一切正常。我看到了图像和我的字符串,但不是 utf-8。经过一些研究,我尝试以另一种方式加载我的 html:

webView.loadDataWithBaseURL(null, dataContent, "text/html", "utf-8", null);  

在正确显示字符串之后,但我无法显示图像。看起来 webView 无法从资产文件夹加载图像。您对如何显示静态 html 内容(utf-8 + 图像)有什么建议吗?

4

1 回答 1

4

当您使用“loadDataWithBaseURL”方法时,您必须设置基本 URL。在您的情况下,它将是资产文件夹。所以,试试这个:

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

在我的测试中,文本和图像已正确加载。也看看这个问题:Using webView's loadDataWithBaseURL not loading images from sdcard

于 2012-09-16T11:38:49.603 回答