zoukankan      html  css  js  c++  java
  • Android WebView 使用

    1.WebView组件主要用于在手机上显示一个web网页。需要传入一个网页地址url,调用loadUrl(url)方法。

       注意由于是web页,需要在AndroidManifest.xml中使用许可权限"android.permission.INTERNET"。

    2.布局文件:

        <WebView
            android:id="@+id/activity_web"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            />

    3.引用

      WebView  webView = (WebView) findViewById(R.id.activity_web);    

    4.设置 如果访问的页面中有Javascript,则webview必须设置支持Javascript

    WebSettings webSetting = webview.getSettings();
            webSetting.setJavaScriptEnabled(true);  
            webSetting .setAllowFileAccess(true);
            webSetting .setBuiltInZoomControls(true);
            webSetting .setSupportZoom(true);

     如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 webview的WebViewClient对象。

     
    webView.setWebViewClient(new WebViewClient(){       
            public boolean shouldOverrideUrlLoading(WebView view, String url) {       
                            view.loadUrl(url);       
                            return true;       
           }       
    });   

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

    public boolean onKeyDown(int keyCode, KeyEvent event) {       
            if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {       
                mWebView.goBack();       
                       return true;       
            }       
            return super.onKeyDown(keyCode, event);       
        }

    或者调用webview的setOnKeyListener的监听:

            webView.setOnKeyListener(new View.OnKeyListener() {
                
                @Override
                public boolean onKey(View v, int keyCode, KeyEvent event) {
                    if(event.getAction() == KeyEvent.ACTION_DOWN){
                        if(keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()){
                            webView.goBack();
                            return true;
                        }
                    }
                    return false;
                }
            });

    5 WebSettings 的常用方法介绍

        setJavaScriptEnabled(true);
              //支持js脚步
        setPluginsEnabled(true);
              //支持插件
        setUseWideViewPort(false);
             //将图片调整到适合webview的大小
        setSupportZoom(true);
             //支持缩放
        setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
                //支持内容从新布局 
        supportMultipleWindows();
            //多窗口
        setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
            //关闭webview中缓存
        setAllowFileAccess(true);
            //设置可以访问文件
        setNeedInitialFocus(true);
            //当webview调用requestFocus时为webview设置节点
         webSettings.setBuiltInZoomControls(true);
            //设置支持缩放
        setJavaScriptCanOpenWindowsAutomatically(true);
               //支持通过JS打开新窗口
        setLoadsImagesAutomatically(true);
               //支持自动加载图片
  • 相关阅读:
    Head first javascript(七)
    Python Fundamental for Django
    Head first javascript(六)
    Head first javascript(五)
    Head first javascript(四)
    Head first javascript(三)
    Head first javascript(二)
    Head first javascript(一)
    Sicily 1090. Highways 解题报告
    Python GUI programming(tkinter)
  • 原文地址:https://www.cnblogs.com/wei1228565493/p/4447292.html
Copyright © 2011-2022 走看看