Android WebView.loadDataWithBaseURL第一页加载是一团糟。怎么解决?

时间:2011-05-19 07:17:13

标签: android webview android-webview

我使用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图像

1 个答案:

答案 0 :(得分:4)

尝试此功能:

webview.loadUrl("file:///android_asset/your_html.html");