WebView的使用

来源:互联网 发布:喷涂机器人编程 编辑:程序博客网 时间:2024/06/06 05:00

WebView访问网页直接

webView.loadUrl(“http://baidu.com”);即可,但是这是打开系统的浏览器。

我们需要继承WebViewClient然后重写

               @Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
atv.webView.loadUrl(url);
return true;
}

我们想要与js进行交互时需要获取WebSetting对象

    

  <span style="white-space:pre"></span>WebSettings webSettings = webView.getSettings();webSettings.setSaveFormData(false);// 设置WebView属性,能够执行javaScript脚本webSettings.setJavaScriptEnabled(true);webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);webSettings.setSupportZoom(true);webSettings.setUseWideViewPort(true);webSettings.setLoadWithOverviewMode(true);webView.addJavascriptInterface(this, "demo");


//网页端回调我们方法时我们需要添加

@JavascriptInterface 不然会找不到这个方法


如果你的应用有多个WebView,并且网页端会调用多个相同的方法,我们可以写在一个通用的类中,把公共的方法写进去,不要自定义WebView,这涉及到WebView在Fragment使用中返回的问题,自定义WebView设置这段代码无效

webview.setOnKeyListener(new 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;                        }                });





0 0
原创粉丝点击