Android之WebViewClient与WebChromeClient的区别

Android之WebViewClient与WebChromeClient的区别
2012-05-05      0个评论      
收藏    我要投稿

ANDROID应用开发的时候可能会用到WEBVIEW这个组件,使用过程中可能会接触到WEBVIEWCLIENT与WEBCHROMECLIENT,那么这两个类到底有什么不同呢?
WebViewClient主要帮助WebView处理各种通知、请求事件的,比如:

onLoadResource
onPageStart
onPageFinish
onReceiveError
onReceivedHttpAuthRequest
WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等比如

onCloseWindow(关闭WebView)
onCreateWindow()
onJsAlert (WebView上alert无效,需要定制WebChromeClient处理弹出)
onJsPrompt
onJsConfirm
onProgressChanged
onReceivedIcon
onReceivedTitle
看上去他们有很多不同,实际使用的话,如果你的WebView只是用来处理一些html的页面内容,只用WebViewClient就行了,如果需要更丰富的处理效果,比如JS、进度条等,就要用到WebChromeClient。
更多的时候,你可以这样

WebView webView;
webView= (WebView) findViewById(R.id.webview);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);
这样你的WebView理论上就能有大部分需要实现的特色了
当然,有些更精彩的内容还是需要你自己添加的

时间: 2024-10-11 05:39:11

Android之WebViewClient与WebChromeClient的区别的相关文章

WebViewClient与WebChromeClient的区别

Android应用开发的时候可能会用到WebView这个组件,使用过程中可能会接触到WebViewClient与WebChromeClient,那么这两个类到底有什么不同呢? WebViewClient主要帮助WebView处理各种通知.请求事件的,比如: onLoadResource onPageStart onPageFinish onReceiveError onReceivedHttpAuthRequest WebChromeClient主要辅助WebView处理Javascript的对

Android中使用WebView, WebChromeClient和WebViewClient加载网页 (能够执行js)

Android中使用WebView, WebChromeClient和WebViewClient加载网页 在android应用中,有时要加载一个网页,如果能配上一个进度条就更好了,而android 中提供了其很好的支持,下面是一个例子程序,先帖: 1 2 3 4 <?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com

WebViewClient与WebChromeClient 区别

android应用开发的时候可能会用到webview这个组件,使用过程中可能会接触到WebViewClient与WebChromeClient,那么这两个类到底有什么不同呢? WebViewClient主要帮助WebView处理各种通知.请求事件的,比如: onLoadResource,onPageStart,onPageFinish,onReceiveError,onReceivedHttpAuthRequest 等. webview1.setWebViewClient(new WebView

Android之WebView的使用样例——WebSetting、WebViewClient、WebChromeClient

点击查看原文 代码直接下载http://download.csdn.net/detail/metis100/8514837 第一步,xml Manifest中要设置网络权限,否则会出先 webpage not available <uses-permission android:name="android.permission.INTERNET" /> 设置布局R.layout.activity_main.这里加了个自己定义进度条 <RelativeLayout xm

Android之WebView的使用例子——WebSetting、WebViewClient、WebChromeClient

代码直接下载http://download.csdn.net/detail/metis100/8514837 第一步,xml Manifest中要设置网络权限,否则会出先 webpage not available <uses-permission android:name="android.permission.INTERNET" /> 设置布局R.layout.activity_main,这里加了个自定义进度条 <RelativeLayout xmlns:andr

【整理】Android中的gravity和layout_gravity区别

[背景] 在Android中,想要设置个按钮的水平对齐,都累死了: [已解决]ADT中已设置TableLayout布局的情况下如何设置按钮居中对齐    所以现在有必要搞清楚,到底gravity和layout_gravity到底有啥区别. 1.参考: Android – gravity and layout_gravity Android中gravity与layout_gravity的区别 中的解释,可以总结为: android:gravity : 表示当前View,即控件,内部的东西的,对齐方

Android support V3 v7 v13的区别

简单翻译: V4用于1.6到更高的API使用. V7是2.1到更高的API使用,其中包含ACtionBar. V13是3.2到更高的API的使用. 原文: v4 Support Library This library is designed to be used with Android 1.6 (API level 4) and higher. It includes the largest set of APIs compared to the other libraries, inclu

android:id=&quot;@android:id/tabhost&quot; 、android:id=&quot;@+id/llRoot&quot; 、android:id=&quot;@id/llRoot&quot; 之间的区别

由于快要放暑假了,所以最近这俩周把Android方面的知识复习一下,准备找个实习工作. 顺便把自己的总结更大家分享一下,共同进步,谢谢.... 一. android:id="@android:id/tabhost"   是调用系统内部的ID 和代码中 mTabContent = (FrameLayout) findViewById(com.android.internal.R.id.tabcontent); 是一回事. 二. android:id="@+id/llRoot&q

二、 Android中gravity与layout_gravity的区别

android:gravity:设置的是控件自身上面的内容位置 android:layout_gravity:设置控件本身相对于父控件的显示位置. 看下如下代码段 <?xml version="1.0" encoding="utf-8"?><!-- android:gravity设置了按钮上面的文字的显示位置,而android:layout_gravity设置了按钮在布局中的显示位置.--><LinearLayout xmlns:and