android setWebChromeClient和setWebViewClient的使用区别

开发中我发现两个控件的使用,由于我做的开发依旧是前期开发,所以功能比较简单,在这里我使用的webView空间一般是使用的如下这个方法
webView.setWebViewClient(new webViewClient());
然后新建一个内部类实现webViewClient继承WebViewClient类,方法如下:
private class HelloWebViewClient extends WebViewClient { 
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) { 
                    view.loadUrl(url); 
                    return true; 
                } 
            } 

但是在我参考了一个比较完善的webView控件使用后发现,实现方法是
setWebChromeClient(new WebChromeClient());
        public class WebChromeClient extends android.webkit.WebChromeClient{
   //方法体略去,要继承实现必须实现的方法。
}

通过对比和翻译外文检索结果:
使用 WebChromeClient  可以操作 Javascript dialogs(js脚本对话框), favicons(添加收藏的标志), titles(标题), 和 progress(进度条).

简单的说,如果除了加载HTML的话,只需要用WebViewClient即可,但是在进行兼容互联网上附加javascript的页面的时候和调用javascript对话框的时候,或者功能较为复杂的内嵌操作的时候,建议使用WebChromeClient 。


二。可使滚动条不占位

setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY)可使滚动条不占位


你可能感兴趣的:(android)