WebView
WebView、WebViewClient and WebChormeClient 常用知识点
概述
WebView是Android平台上一个特殊的View,可以用来显示网页
WebView、WebViewClient、WebChormeClient
WebViewClient和WebChormeClient用来辅助WebView
- WebView职责:解析、渲染网页
- WebViewClient:辅助WebView处理各种事件、通知
- WebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
WebView常用方法
设置编码
mWebView.getSettings().setDefaultTextEncodingName("utf-8")
支持js
mWebView.getSettings().setJavaScriptEnabled(true);
设置本地调用对象及其接口(重要知识点跟JS交互就靠他)
mWebView.addJavascriptInterface(new Object(), "myObj");
加载本地网页
mWebView.loadUrl("file:///android_asset/wb.html");
加载网络地址
mWebView.loadUrl("http://www.baidu.com");
加载网页格式的文本
String summary = "You scored 192 points.";
mWebView.loadData(summary, "text/html", null);
设置WebViewClient
mWebView.setWebViewClient(mWvClient);
设置WebChromeClient
mWebView.setWebChromeClient(mChrome);
WebViewClient常见方法
加载资源事件 url:链接
public void onLoadResource(WebView view, String url)
请求url开始
public void onPageStarted(WebView view, String url, Bitmap favicon)
请求url结束
public void onPageFinished(WebView view, String url)
请求错误信息
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) -23+
public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) -23+
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) -23-
打开方式(程序还是系统浏览器)
public boolean shouldOverrideUrlLoading
WebChormeClient常见方法
获取网页头部icon
public void onReceivedIcon(WebView view, Bitmap icon)
获取头部标题
public void onReceivedTitle(WebView view, String title)
网页加载进度变化
public void onProgressChanged(WebView view, int newProgress)
已上传 github