1. 打开网页时不调用系统浏览器, 而是在本WebView中显示:
mWebView.setWebViewClient(new WebViewClient(){
@Override public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url); return true;
}
});
2. 通过java代码调用javascript
WebSettings webSettings = mWebView .getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
webview.loadUrl("javascript:wave()");
}
});
}
}, "demo");
3. 按返回键时, 不退出程序而是返回上一浏览页面:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
4. 打开页面时, 自适应屏幕:
WebSettings webSettings = mWebView .getSettings();
webSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放webSettings.setLoadWithOverviewMode(true);
5. 便页面支持缩放:
WebSettings webSettings = mWebView .getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);
6.如果webView中需要用户手动输入用户名、密码或其他,则webview必须设置支持获取手势焦点。
webview.requestFocusFromTouch();
7.WebView 加载界面主要调用三个方法:LoadUrl、LoadData、LoadDataWithBaseURL.
1、LoadUrl 直接加载网页、图片并显示.(本地或是网络上的网页、图片、gif) 2、LoadData 显示文字与图片内容 (模拟器1.5、1.6) 3、LoadDataWithBase 显示文字与图片内容(支持多个模拟器版本)
8.WebSettings 的常用方法介绍
setJavaScriptEnabled(); setPluginsEnabled(); setUseWideViewPort(); setSupportZoom(); setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); supportMultipleWindows(); setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); setAllowFileAccess(); setNeedInitialFocus(); //当webview调用requestFocus时为webview设置节点setJavaScriptCanOpenWindowsAutomatically(); setLoadsImagesAutomatically();
9.WebViewClient 的方法全解
doUpdateVisitedHistory(WebView view, String url, isReload) onPageFinished(WebView view, String url) errorCode, String description, String failingUrl) oldScale, newScale)