Android webview暂时显示为白色

时间:2011-11-30 04:47:22

标签: android android-webview

我在我的活动中使用webview。页面是从android_asset加载的:

webView.loadUrl("file:///android_asset/htm/main.htm");

我有onPageFinished处理程序,一旦页面加载就显示视图:

public void onPageFinished(WebView view, String url) {
    view.setVisibility(View.VISIBLE);

问题是当应用程序启动时我可以看到白色矩形而不是html内容。在一瞬间,它更新到真正的HTML内容。 当页面呈现给webview时,我如何捕获事件?还是有另一个解决这个问题的方法吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,但后来我用onProgressChanged()函数来避免这个空白屏幕。你可以在onPageStart()函数中启动一个进度对话框,然后从onProgressChanged()你可以知道你的页面显示的具体百分比,你可以让你的进度对话框消失。

你可以试试这个:

public void onProgressChanged(WebView view, int newProgress) {

        Log.e("onProgressChanged", " Value is: " + newProgress);
        if (newProgress >= 90) {
            if (dialog != null) {
                dialog.dismiss();
            }
        }
        super.onProgressChanged(view, newProgress);
    }

90是我的情况下当页面出现在屏幕上时的值,您可以使用介于1-100之间的值。