我试图在页面完全加载到webView之前显示图像但是webview显示空白片刻,然后显示desided页面显示空白屏幕的时间我要显示一些图像。我是在viewpager中使用webview。
我尝试过onPageStarted,onPageFinished方法但没有任何成功。
以下是代码:
web.setWebViewClient(new WebViewClient() {
// load url
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
// when finish loading page
public void onPageFinished(WebView view, String url) {
web.setVisibility(View.VISIBLE);
image.setVisibility(View.GONE);
}
});
<ImageView
android:id="@+id/imageviewloading"
android:layout_width="wrap_content"
android:layout_height="0dip"
android:layout_gravity="center"
android:layout_weight="1"
android:contentDescription="@string/app_name"
android:src="@drawable/photo_downloading" />
<WebView
android:id="@+id/website"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</LinearLayout>
答案 0 :(得分:2)
它的
webview.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
// Activities and WebViews measure progress with different scales.
// The progress meter will automatically disappear when we reach 100%
activity.setProgress(progress * 1000);
}
});
为我做了伎俩
答案 1 :(得分:1)
您可以在WebView中跳转页面加载启动和页面加载完成的事件,如下所示:
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
// Show placeholder icon here
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
// Hide placeholder image here
}
});