android setWebChromeClient和setWebViewClient的使用区别
16lz
2021-01-26
开发中我发现两个控件的使用,由于我做的开发依旧是前期开发,所以功能比较简单,在这里我使用的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(进度条).
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手机卫士关闭自动更新
- Android(安卓)点9图片 Can't have more than one marked region
- Android调用第三方库的方法
- 《Android开发从零开始》――2.模拟器的使用
- Android的生命周期中的方法的执行场景
- 笑谈Android之Shared Preferences
- [置顶] [Android开发]android 跨进程通信之Broadcast
- android开发文档工具集(持续更新中...)
- Android(安卓)JNI 篇 - JNI回调的三种方法(精华篇 ndk)