1

我有一个Android apk,主要是一个访问html5 web 的webview。每次我旋转屏幕时,它都会在重新加载/重新渲染网页时显示一个空白屏幕。由于网页需要通过服务器获取数据,因此可能需要几秒钟的时间。

我只是想知道,是否有一种简单的方法可以在旋转时显示加载图像或徽标图像,而不是空白屏幕?

非常感谢。

4

1 回答 1

1

您应该使用WebView 规范中描述的WebViewClient回调以及显示ProgressBar类型

style="@android:style/Widget.ProgressBar.Large"例如。

您的活动应包括以下内容:

private void onCreate(Bundle savedInstanceState){

        webView = (WebView) findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebChromeClient(webChromeClient);

        spinner = (ProgressBar) findViewById(R.id.progress);
    }

    private WebChromeClient webChromeClient = new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)   
        {
            if(progress == 100)
                spinner.setVisibility(View.GONE);
          }
        };

并且应该在您的 xml 布局中定义一个进度条:

<ProgressBar
        android:id="@+id/progress"
        style="@android:style/Widget.ProgressBar.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:indeterminate="true"
        android:visibility="visible" />
于 2012-12-06T07:10:23.110 回答