设置布局参数
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传递参数,并获得返回值(一个简单的实例)