现在的位置: 首页 > 综合 > 正文

Android WebView总结

2018年01月10日 ⁄ 综合 ⁄ 共 1417字 ⁄ 字号 评论关闭

Android WebView总结

  • 2011年9月29日10:20
  • 来源:Android中文网

  1、添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。
  在Androidmanifest.xml文件中添加

  <uses-permission android:name="android.permission.INTERNET" />
  </manifest>

  2、在要Activity中生成一个WebView组件:WebView webView = new WebView(this);

  3、设置WebView基本信息:

  如果访问的页面中有Javascript,则webview必须设置支持Javascript。
  webview.getSettings().setJavaScriptEnabled(true); 

  触摸焦点起作用
  requestFocus();

  取消滚动条
  this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);

  4、设置WevView要显示的网页:
  互联网用:webView.loadUrl("http://android.tgbus.com"); 
  本地文件用:webView.loadUrl(file:///android_asset/xx.html);固定格式
  本地文件存放在:assets文件中

  5、如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。
  给WebView添加一个事件监听对象(WebViewClient)

  并重写其中的一些方法
  shouldOverrideUrlLoading:对网页中超链接按钮的响应。
  当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url 
  onLoadResource   
  onPageStart  
  onPageFinish  
  onReceiveError
  onReceivedHttpAuthRequest

  6、如果用webview点链接看了很多页以后,如果不做任何处理,点击系统“Back”键,整个浏览器会调用finish()而结束自身,如果希望浏览的网页回退而不是退出浏览器,需要在当前Activity中处理并消费掉该Back事件。

  覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法。

  public boolean onKeyDown(int keyCoder,KeyEvent event){
                        if(webView.canGoBack() && keyCoder == KeyEvent.KEYCODE_BACK){
                                webview.goBack();   //goBack()表示返回webView的上一页面
                                return true;
                        }
                        return false;
                }

抱歉!评论已关闭.