如果我使用WebView.loadData()直接加载带有HTML文档的WebView(没有Web服务器),那么该文档是否可以引用本地图像?如果是这样我在哪里放置它们,我该如何引用它们?
或者有没有办法轻松编码和嵌入位图到HTML文档?
我需要显示包含图片的本地HTML文档,并且我希望避免设置远程服务器来提供资源。
答案 0 :(得分:3)
使用此
String html = new String();
html = ("<html><BODY ><table style='margin-top:100px;' align='center'><tr><td><img src=\""+your_image_localpath+"\" width=\""+800+"px\" height=\""+800+"px\" ></td></tr></table> </BODY></html>" );
webView1.loadDataWithBaseURL("file:///sdcard/data/data/your_package_name/",
html,
"text/html",
"utf-8",
"");
答案 1 :(得分:3)
您是否尝试file:///android_asset/www/image.jpg
作为图片src
属性?如果您将html文档作为文件,那么您可以将图像放入资产中文件旁边的文件夹中。
答案 2 :(得分:0)
如果你不关心图像,你可以使用base64编码,它们只是html页面的一部分。
还有另一个线程解释了如何使用base64编码Embedding Base64 Images
答案 3 :(得分:0)
我认为这更好更清洁:
StringBuilder html = new StringBuilder();
html.append("<html>");
html.append("<head>");
html.append("</head>");
html.append("<body>");
html.append("<p><img style='width: 100%;' src='your_image.png' /></p>");
html.append("</body></html>");
your_webview.loadDataWithBaseURL("file:///android_asset/", html.toString(), "text/html", "UTF-8", "");