zoukankan      html  css  js  c++  java
  • Android WebView 问题总集

    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;
      }

  • 相关阅读:
    block的使用
    控制器的多种创建方式
    指针函数和函数指针
    UIScrollView实现图片轮播器及其无限循环效果
    如何按顺序执行两个动画
    代理、通知、KVO的应用
    CAlayer层的属性
    UIView的autoresizingMask和autoresizesSubviews属性的剖析
    面向对象编程思想(OOP)总结
    scala中闭包的使用
  • 原文地址:https://www.cnblogs.com/jackluo/p/2987226.html
Copyright © 2011-2022 走看看