我使用WebView.loadDataWithBaseURL从我的应用程序的内部资源加载我的帮助页面。
我有一些help.html和一些位于assets目录中的图片。页面加载并显示图像,但图像周围的文本是一团糟。它没有显示在图像的右侧,而是图像与文本重叠。
仅在首次加载页面时才会发生这种情况。如果我关闭WebView并再次打开它,那么一切都很好。 似乎在第一次加载时,WebView花费一些时间来加载图像,之后不会重新格式化页面。在第二次尝试时,图像被缓存并与文本一起显示并正确格式化。
此问题的解决方案是什么?
有没有人遇到这个问题?
这是我的代码:
app.setContentView(R.layout.help);
final WebView web = (WebView) app.findViewById(R.id.helpWebView);
web.setBackgroundColor(0);
web.loadDataWithBaseURL("file:///android_asset/", helpHtml, "text/html", "utf-8", null);
网页位于helpHtml字符串中,代码为:
<html><head></head><body><img src="html/flddesc.png" align="left"/>this should be my long long text...</body></html>
P.S:html / flddesc.png是一张180x200~20kb大小的PNG8图像
答案 0 :(得分:4)
尝试此功能:
webview.loadUrl("file:///android_asset/your_html.html");