为什么不从应用程序端加载所有 HTML?如果您担心此网页将无法访问网络 - 使用 WebView.loadDataWithBaseUrl 方法。
要将图像嵌入网页,您可以使用 data:URI 方案:http ://en.wikipedia.org/wiki/Data_URI_scheme
即使您是远程加载页面,您也可以映射您的应用程序图像。您可以使用 WebView.loadUrl("javascript:....") 通过 JavaScript 代码“发送”图像数据(也使用 data:URI 方案)。
编辑。
首先,在 HTML 端,嵌入图像的示例将如下所示:
<html>
<head>
<style>
#myImage { background-image: url('data:image/png;base64,iVBORw0KG.....'); width: 50px; height: 50px;}
</style>
</head>
<body>
<div id="myImage"></div>
</body>
</html>
何时,如果您想将此页面存储在应用程序端,您可以将其存储在某个位置(字符串资源、资产文件夹)以及何时获取它。
String pageResource = // get it somehow
WebView myWebView;
myWebView.loadDataWithBaseUrl(
"http://my.site.com", // The base url
pageResource, // page content to load...
"text/html", // it's MIME type...
"UTF-8", // and encoding
"http://my.site.com/page.html");
现在 WebView 已经加载了您的页面。它是从本地资源加载的,但从 WebView 的角度来看,它就像是从网络加载的一样。loadData
它也可以访问网络资源和在这里工作的 JavaScript 代码(这是和之间的主要区别loadDataWithBaseUrl
)。