Android WebView属性及Js交互总结

来源:互联网 发布:沙盘模拟软件下载 编辑:程序博客网 时间:2024/05/21 14:01

设置布局参数

void setLayoutParams (ViewGroup.LayoutParams params)

RelativeLayout.LayoutParams rl_bottomBar_layoutParams = (RelativeLayout.LayoutParams) webview.getLayoutParams(); rl_bottomBar_layoutParams.setMargins(0, dp2px(42), 0, 0);  webview.setLayoutParams(rl_bottomBar_layoutParams);

只让本应用程序的webview加载网页

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

设置编码格式

settings.setDefaultTextEncodingName(“UTF-8”); //设置编码格式

去掉webview中右下角的缩放按钮

settings.setDisplayZoomControls(false); //隐藏webview缩放按钮

几种加载方式

loadData(String data, String mimeType, String encoding)

loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl)
wv.loadDataWithBaseURL(null, detailHtml, “text/html”, “utf-8”, null);

loadUrl(String url)

void loadUrl(String url, Map

另一种加载方式

 Uri uri = Uri.parse("http://www.example.com"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);

webview 和WebSettings属性

webview 回收

@Override  protected void onDestroy() {        if (webview != null) {            webview .destroy();        }        super.onDestroy();        webview = null  ;    }

android调用js方法

    webSettings.setJavaScriptEnabled(true);//支持js    mHandler.post(new Runnable() {                   public void run() {                       //android 调 js                       mWebView.loadUrl("javascript:wave()")                   }               }

js调用android方法

webView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo"); public class DemoJavaScriptInterface {        DemoJavaScriptInterface() {        }        //js 调用安卓,有返回值,最好新线程        @JavascriptInterface        public String testMethod(final String str1,final String str2) {                String rtnStr = str1+str2;                //to-do                return rtnStr;        }       //js 调用安卓,无返回值,最好新线程      @JavascriptInterface      public void clickOnAndroid2(String result) {          System.out.println("返回的结果"+result);          Log.e(TAG, "clickOnAndroid2: result" + result );      }}

js中的调用

     function postStr(){                 var rtn = window.demo.testMethod(document.getElementById("text1").value, document.getElementById("text2").value);                 document.getElementById("text").value=rtn;         }

参考文档

Android开发之WebView详细总结
Android开发实践 带你理解使用WebView
Android–JS向Android传递参数,并获得返回值(一个简单的实例)

WebView官方文档

0 0
原创粉丝点击