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);
               //支持自动加载图片
  • 相关阅读:
    Python split()方法分割字符串
    Python创建线程
    Python find()方法
    webpack中‘vant’全局引入和按需引入【vue-cli】
    webpack中‘mint-ui’全局引入和按需引入【vue-cli】
    nginx中 处理post方式打开页面的报错405
    nginx中 vue路由去掉#后的配置问题
    webpack中 VUE使用搜狐ip库查询设备ip地址
    webpack中 VUE使用百度地图获取地理位置
    VUE动态设置网页head中的title
  • 原文地址:https://www.cnblogs.com/wei1228565493/p/4447292.html
Copyright © 2011-2022 走看看