Android WebView的简单使用

WebView使用

简单设置

WebView webview = (WebView)findViewById(R.id.web_view);
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new WebViewClient());
webview.loadUrl("http://www.baidu.com");
  • 可以通过调用webview.getSettings()方法去设置一些浏览器的属性。
  • 这里setJavaScriptEnabled()方法可以让浏览器支持JavaScript脚本。
  • 这里的setWebViewClient()方法作用是当需要从一个网页跳转到另一个网页时,我们希望还在当前的app内显示,而不是系统的浏览器里。
  • loadUrl()方法用于加载网页url。

进阶设置

实现网页后退

@...
public boolean onKeyDown(int keyCode,KeyEvent event){
  if (keyCode == KeyEvent.KEYCODE_BACK) {
    if (webview.canGoBack()) {
      webview.goBack();//返回上一界面
      return true;
    }else{
      System.exit(0);//退出程序
    }

  }
  return super.onKeyDown(keyCode,event);
}
  • 如果希望按下返回键退回上一页,而不是推出webView,就要加入上面的代码。
  • 通过改写物理按键(返回键)的逻辑。
  • 使用webView覆盖URL加载,让它自动生成历史访问记录,就可以实现网页前进和后退。

判断页面加载过程

webView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                // TODO Auto-generated method stub
                if (newProgress == 100) {
                    // 网页加载完成

                } else {
                    // 加载中

                }

            }
        }); 

使用缓存

优先使用缓存

webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

不使用缓存

webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 

你可能感兴趣的:(Android)