android中webview 怎么实现网页加载时显示加载进度

android中webview 怎么实现网页加载时显示加载进度,第1张

android中只需要给webView注册一个事件即可实现加载进度

以下是具体实现代码:

1.从webView中获取设置

WebSettings sws = webView.getSettings()

sws.setSupportZoom(true)

sws.setBuiltInZoomControls(true)

webView.setInitialScale(25)

webView.getSettings().setUseWideViewPort(true)

2.注册setWebChromeClient事件

webView.setWebChromeClient(new WebChromeClient() {

public void onProgressChanged(WebView view, int progress) {

// Activity和Webview根据加载程度决定进度条的进度大小

// 当加载到100%的时候 进度条自动消失

//WebViewProgressActivity.this.setTitle("Loading...")

//WebViewProgressActivity.this.setProgress(progress * 100)

if (progress == 100) {

progressBar.setVisibility(View.GONE)

//WebViewProgressActivity.this.setTitle("完成")

}

}

})

3.注意在onProgressChanged中处理进度,progress就是进度值。

代理

- (void)webViewDidStartLoad:(UIWebView *)webView

开始loading

- (void)webViewDidFinishLoad:(UIWebView *)webView

- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error

这里面关闭loading

此方法已经被标记为废弃,方法的第二个参数类型为String,在Android 7.0以下系统被调用

因此在Android 7.0以下系统,如果我们设置了 WebViewClient ,只有 shouldOverrideUrlLoading(WebView view, String url) 方法会被调用,在Android 7.0及以上系统 shouldOverrideUrlLoading(WebView view, String url) 和 shouldOverrideUrlLoading(WebView view, WebResourceRequest request) 两个方法都会被调用。

以上语句引自于 android.webkit.WebViewClient 类,翻译总结一下就是:

因此阻止 WebView 调用系统浏览器只需要设置 WebViewClient ,然后返回 false 即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11338275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存