美文网首页
WebView中webviewclient的作用

WebView中webviewclient的作用

作者: XiaoXred | 来源:发表于2020-07-08 10:47 被阅读0次

WebViewClient:在影响【View】的事件到来时,会通过WebViewClient中的方法回调通知用户,当不设置这个方法的时候,用webview加载网页会弹出一个对话框,提醒你选择系统装的浏览器,比如百度,uc,chrome等一些浏览器,设置这个方法意思就是让我们的webview来加载这个网页,不需要打开外部浏览器了 

实际使用的话,如果你的WebView只是用来处理一些html的页面内容,只用WebViewClient就行了,如果需要更丰富的处理效果,比如JS、进度条等,就要用到WebChromeClient。


回调事件总结:

WebViewClient就是帮助WebView处理各种通知、请求事件的,常用到的如:

1.onLoadResource、onPageStart、onPageFinish

2.onReceiveError、onReceivedHttpError、onReceivedSslError

3.shouldInterceptRequest、shouldOverrideKeyEvent、shouldOverrideUrlLoading

4.onReceivedClientCertRequest、onReceivedHttpAuthRequest、onReceivedLoginRequest

5.其他:doUpdateVisitedHistory、onFormResubmission、onPageCommitVisible、onRenderProcessGone、onScaleChanged、onUnhandledKeyEvent


使用方法:

1.找到WebView控件

WebView webLayout = findViewById(R.id.web_layout);

2.设置setWebViewClient()

webLayout.setWebViewClient(new MyWebViewClient());

public static class MyWebViewClientextends WebViewClient {

/**

    * 加载结束时调用onPageFinished()

    * 在结束加载时隐藏进度条

    */

    @Override

    public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

    }

/**

    * 拦截 url 跳转,在里边添加点击链接跳转或者操作

    * 实现对网页中超链接的拦截

    */

    @Override

    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {

return super.shouldOverrideUrlLoading(view, request);

    }

}


相关文章

网友评论

      本文标题:WebView中webviewclient的作用

      本文链接:https://www.haomeiwen.com/subject/mdyqcktx.html