我有一个Android apk,主要是访问html5 web的webview。每当我旋转屏幕时,它会在重新加载/重新呈现网页时显示空白屏幕。由于网页需要通过服务器获取数据,因此可能需要几秒钟。
我只是想知道,是否有一种简单的方法可以在旋转时显示加载图像或徽标图像,而不是空白屏幕?
非常感谢。
答案 0 :(得分:1)
您应该使用WebViewClient中所述的WebView spec回调以及显示类型<{p}的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" />