Android webview使用方法总结
Androidwebview使用方法总结
这里对Androidwebview的几种用法进行了总结,提供了九种用法,都要简单实例,大家可以参考下:
1.打开网页时不调用系统浏览器,而是在本WebView中显示:
mWebView.setWebViewClient(newWebViewClient(){ @Override publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){ view.loadUrl(url); returntrue; } });
2.通过java代码调用javascript
WebSettingswebSettings=mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); mWebView.addJavascriptInterface(newObject(){ publicvoidclickOnAndroid(){ mHandler.post(newRunnable(){ publicvoidrun(){ webview.loadUrl("javascript:wave()"); } }); } },"demo");
3.按返回键时,不退出程序而是返回上一浏览页面:
publicbooleanonKeyDown(intkeyCode,KeyEventevent){ if((keyCode==KeyEvent.KEYCODE_BACK)&&mWebView.canGoBack()){ mWebView.goBack(); returntrue; } returnsuper.onKeyDown(keyCode,event); }
4.打开页面时,自适应屏幕:
WebSettingswebSettings=mWebView.getSettings(); webSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放 webSettings.setLoadWithOverviewMode(true);
5.便页面支持缩放:
WebSettingswebSettings=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(true);//支持js setPluginsEnabled(true);//支持插件 setUseWideViewPort(false);//将图片调整到适合webview的大小 setSupportZoom(true);//支持缩放 setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);//支持内容重新布局 supportMultipleWindows();//多窗口 setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//关闭webview中缓存 setAllowFileAccess(true);//设置可以访问文件 setNeedInitialFocus(true);//当webview调用requestFocus时为webview设置节点 webviewwebSettings.setBuiltInZoomControls(true);//设置支持缩放 setJavaScriptCanOpenWindowsAutomatically(true);//支持通过JS打开新窗口 setLoadWithOverviewMode(true);//缩放至屏幕的大小 setLoadsImagesAutomatically(true);//支持自动加载图片
9.WebViewClient的方法全解
doUpdateVisitedHistory(WebViewview,Stringurl,booleanisReload)//(更新历史记录) onFormResubmission(WebViewview,MessagedontResend,Messageresend)//(应用程序重新请求网页数据) onLoadResource(WebViewview,Stringurl)//在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。 onPageStarted(WebViewview,Stringurl,Bitmapfavicon)//这个事件就是开始载入页面调用的,通常我们可以在这设定一个loading的页面,告诉用户程序在等待网络响应。 onPageFinished(WebViewview,Stringurl)//在页面加载结束时调用。同样道理,我们知道一个页面载入完成,于是我们可以关闭loading条,切换程序动作。 onReceivedError(WebViewview,interrorCode,Stringdescription,StringfailingUrl)//(报告错误信息) onReceivedHttpAuthRequest(WebViewview,HttpAuthHandlerhandler,Stringhost,Stringrealm)//(获取返回信息授权请求) onReceivedSslError(WebViewview,SslErrorHandlerhandler,SslErrorerror)//重写此方法可以让webview处理https请求。 onScaleChanged(WebViewview,floatoldScale,floatnewScale)//(WebView发生改变时调用) onUnhandledKeyEvent(WebViewview,KeyEventevent)//(Key事件未被加载时调用) shouldOverrideKeyEvent(WebViewview,KeyEventevent)//重写此方法才能够处理在浏览器中的按键事件。 shouldOverrideUrlLoading(WebViewview,Stringurl) //在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。这个函数我们可以做很多操作,比如我们读取到某些特殊的URL,于是就可以不打开地址,取消这个操作,进行预先定义的其他操作,这对一个程序是非常必要的。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!