在WebView中显示带有图像的静态html

时间:2012-09-15 23:01:19

标签: android html

我在使用额外图片(存储为资源)显示静态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无法从assets文件夹加载图像。您有什么建议我如何显示静态html内容(utf-8 +图像)?

1 个答案:

答案 0 :(得分:4)

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

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

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