WebView基本使用

来源:互联网 发布:湖北广电网络客服电话 编辑:程序博客网 时间:2024/06/09 21:09

WebView基本使用

    //初始化     webview= (WebView) findViewById(R.id.webView);     //或者代码生成     WebView webview =new WebView(this);     //垂直不显示滚动条    webview.setVerticalScrollBarEnabled(false);     //声明WebSettings子类    WebSettings webSettings = webview.getSettings();    //如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript    webSettings.setJavaScriptEnabled(true);    //设置自适应屏幕,两者合用    webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小    webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小    //缩放操作    webSettings.setSupportZoom(true); //支持缩放,默认为true。是下面那个的前提。    webSettings.setBuiltInZoomControls(true); //设置内置的缩放控件。若为false,则该WebView不可缩放    webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件    //其他细节操作  缓存设置    webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);    webSettings.setAllowFileAccess(true); //设置可以访问文件    webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口    webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片    webSettings.setDefaultTextEncodingName("utf-8");//设置编码格式    //设置显示方式    webview.setWebViewClient(new WebViewClient(){        @Override        public boolean shouldOverrideUrlLoading(WebView view, String url) {            //在本窗口显示网页,隐藏地址栏            view.loadUrl(url);            //以网页形式显示         //  Uri uri = Uri.parse(url);         //  Intent intent = new Intent(Intent.ACTION_VIEW, uri);         //  startActivity(intent);            return false;        }    });    //弹窗形式的js交互    webview.setWebChromeClient(new WebChromeClient(){        @Override        public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) {                //message指js返回的数据                // 表示成功调用了方法                result.confirm("js调用了Android的方法成功啦");                //返回true表示不弹窗                return true;        }    });}//点击返回返回上一层的网页,无上一层就关闭窗体@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {    if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {        webview.goBack();        return true;    }    return super.onKeyDown(keyCode, event);}//避免内存溢出,关闭窗体时也要销毁webview@Overrideprotected void onDestroy() {    if (webview != null) {        webview.loadDataWithBaseURL(null, "", "text/html", "utf-8", null);        webview.clearHistory();        ((ViewGroup) webview.getParent()).removeView(webview);        webview.destroy();        webview = null;    }    super.onDestroy();}

Js代码如下
这里写图片描述