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://www.google.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;
                    }
    
  • 相关阅读:
    什么是Azkaban?
    设计模式 应用场景
    初识Nginx
    C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
    C++对象模型笔记之程序设计模型
    深度探索C++对象模型之C++对象模型笔记
    对于数据库设计者而言,在设计表属性类型时应该考虑哪些问题?
    Thread 多线程 同步
    Thread sleep()休眠
    Java 多线程(Thread)学习
  • 原文地址:https://www.cnblogs.com/lm3515/p/1984087.html
Copyright © 2011-2022 走看看