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

  • 相关阅读:
    apache重写规则自动追加查询参数QSA
    错误代码2104:无法下载Silverlight应用程序。请查看Web服务器设置
    eclipse的shell相关插件
    二叉树及排序二叉树的相关操作汇总
    约瑟夫环
    c++ 输入一行字符串
    类对象做函数参数(传值和传引用)
    运算符重载(=和+)
    char型字符串(数组)与string型字符串 指针与引用
    一维和二维数组 动态内存分配
  • 原文地址:https://www.cnblogs.com/jackluo/p/2987226.html
Copyright © 2011-2022 走看看