WebView的基本使用:
1.需要在AndroidManifest.xml中添加权限
2.在xml布局文件中添加WebView控件
mWebView = (WebView)findViewById(R.id.webview);
// mWebView.loadUrl("http://192.168.1.104:8080/Clouda/www/index.html");
mWebView.loadUrl("file:///android_asset/www/index.html");
设置WebView要显示的网页方法有很多:
互联网页面直接用:
mWebView.loadUrl("http://192.168.1.104:8080/Clouda/www/index.html");
mWebView.loadUrl("file:///android_asset/www/index.html");
本地文件存放在:assets文件中。
还可以直接载入html的字符串,如:
String htmlString = "Title
This is HTML text
"; // 载入这个html页面 myWebView.loadData(htmlString, "text/html", "utf-8");
Formatted in italics
Anothor Line
mWebView.getSettings().setJavaScriptEnabled(true);
5.重写WebViewClient类的shouldOverrideUrlLoading函数,使用WebView加载Url
mWebView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
mWebView.goBack(); //向后浏览历史页面
mWebView.canGoBack();
mWebView.goForward(); //向前浏览历史页面
mWebView.canGoForward()
mWebView.clearCache(); //清除缓存
8.设置滚动条风格
mWebView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
如果想取消滚动条,在布局文件中加上
android:scrollbars="none"
//得到WebSettings对象,设置支持Javascript的参数
mWebView.getSettings().setJavaScriptEnabled(true);
//设置可以支持缩放
mWebView.getSettings().setSupportZoom(true);
//设置默认缩放方式尺寸是far
mWebView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
//设置出现缩放工具
mWebView.getSettings().setBuiltInZoomControls(true);
WebView与JS交互
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid(final int i) {
mHandler.post(new Runnable() {
public void run() {
mWebView.loadUrl("javascript:test('aa')");
Toast.makeText(MainActivity.this, "测试调用java " + i, Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
}
This is my HTML page.
"window.demo.clickOnAndroid(2)"
来调用Java代码,同样Java代码也可以调用JS代码
mWebView.loadUrl("javascript:test('aa')");