我在使用额外图片(存储为资源)显示静态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 +图像)?
答案 0 :(得分:4)
使用“loadDataWithBaseURL”方法时,必须设置基本URL。在你的情况下,它将是资产文件夹。所以,试试这个:
webView.loadDataWithBaseURL("file:///android_asset/", dataContent, "text/html", "utf-8", null);
在我的测试中,正确加载了文本和图像。 也请看一下这个问题:Using webView's loadDataWithBaseURL not loading images from sdcard