Android开发技术中心Android开发Android知识

Android开发之WebView的使用(2)

2017-04-14  本文已影响541人  Reathin

在上一篇中我们说了WebView的基本使用安卓开发之WebView的使用(1),里面提到了WebViewClient和WebChromeClient。
下面我们来探究一番WebViewClient和WebChromeClient

Let's Go

先了解一下概念

Android WebView做为承载网页的载体控件,他在网页显示的过程中会产生一些事件,并回调给我们的应用程序,以便我们在网页加载过程中做应用程序想处理的事情。比如说客户端需要显示网页加载的进度、网页加载发生错误等等事件。

WebView提供两个事件回调类给应用层,分别为WebViewClient和WebChromeClient。我们可以继承这两个类,接受相应事件处理。

WebViewClient: 主要提供网页加载各个阶段的通知,比如网页开始加载onPageStarted,网页结束加载onPageFinished等。

WebChromeClient: 主要提供网页加载过程中提供的数据内容,比如返回网页的title,favicon等。

下面先从WebViewClient开始说起

WebViewClient的基本使用

WebViewClient的基本使用

创建WebViewClient实例并设置到WebView对象中,具体代码参考如下:

class MyAndroidWebViewClient extends WebViewClient {  
    @Override  
    public void onPageStarted(WebView view, String url, Bitmap favicon) {  
       // TODO  
    }  
      
    @Override  
    public void onPageFinished(WebView view, String url) {  

    }  
}  
webview.setWebViewClient(new MyAndroidWebViewClient ());  

来看看API

WebChromeClient基本使用

API

private void createWindow(final Message msg){  
    WebView.WebViewTransport transport = (WebView.WebViewTransport) msg.obj;  
    final Tab newTab = mWebViewController.openTab(null, Tab.this, true,  true);  
    transport.setWebView(newTab.getWebView());  
    msg.sendToTarget();  
}  

千言万语,不如来个Demo
GitHub: https://github.com/Rairmmd/RairDemo/tree/master/WebViewDemo
Coding:https://git.coding.net/Rair/RairDemo.git

上一篇 下一篇

猜你喜欢

热点阅读