您的位置:首页 > 移动开发

Andorid开发中WebView网页加载控件使用

2015-11-16 17:41 483 查看
   WebView控件在Android中主要是加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,在我们做项目的时候是使用机率非常大的组件之一。当然使用前是要添加网络访问权限。

    我们在作用WebView加载网页时,通常是在初始化WebView控件之后,直接使用loadUrl()方法,传入我们要加载的连接地址即可。比如:webView.loadUrl("http://www.sina.com")就直接可以加载出新浪的网页面;当然我们也可以加载本地的文件,把文件放在项目的assets目录下,使用webView.loadUrl("file:///android_asset/xx.html")即可。

   用户点击WebView中的页面链接时,一般是由默认的浏览器打开加载目标的URL,当然我们可以在WebView中覆盖这一行为,实现方式就是实现以地WebViewClient()中方法的改写。webVeiw.setWebViewClient(new
WebViewClient());

     WebView当然可以与JavaScript交互,前提是要在WebView设置启用JavaScript,方法很简单WebVeiw wv=(WebView)findViewById(R.id.wv);

     WebSettings settings=webView.getSettings();

     settings.setJavaScriptEnable(true);//调用这个方法,设置为true就可以开户与JavaScript交互了。

 

   很多时候,我们要监听WebView加载网页面的进度,我们应该如何操作呢?实现起来也比较简单,有一个类WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等。我们只需要在WebChromeClient中实现对应的方法就可以。比如:

   webView.setWebChromeClient(new WebChromeClient(){

               @OVerride

    public void onProgreddChanged(WebView view,int newProgress){//newProgress就是代表加载进度,值在1-100之间

    if(newProgress==100){//表示加载完成

   //TODO做对应的处理

}else{//加载中

 //TODO做相应的处理即可

                           }

            }

});

  另外我们还可以设置WebView使用缓存功能。

  主要有以下两个方法:

   webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//优先使用缓存

 webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);//不使用缓存

  项目中处理加载网页时如何显示网页对应的标题呢?

 mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onReceivedTitle(WebView view, String mTitle) {
super.onReceivedTitle(view, mTitle);
//在这里处理标题显示
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: