歡迎大家和我分享
歡迎轉(zhuǎn)載,但請保留文章原始出處:
哈哩波特大:http://www.itdecent.cn/u/b7d80b891802
- webview返回鍵:
//點擊返回鍵,返回上一個頁面,而不是退出程序
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
webView.goBack();// 返回前一個頁面
return true;
}
return super.onKeyDown(keyCode, event);
}
-WebSettings 的常用方法介紹:
webSettings.setSupportZoom(true); //支持縮放
webSettings.setPluginsEnabled(true); //支持插件
webSettings.supportMultipleWindows(); //多窗口
webSettings.setAllowFileAccess(true); //設(shè)置可以訪問文件
webSettings.setUseWideViewPort(false); //將圖片調(diào)整到適合webview的大小
webSettings.setNeedInitialFocus(true); //當(dāng)webview調(diào)用requestFocus時為webview設(shè)置節(jié)點
webSettings.setJavaScriptEnabled(true); //支持js
webSettings.setBuiltInZoomControls(true); //設(shè)置支持縮放
webSettings.setLoadWithOverviewMode(true); //縮放至屏幕的大小
webSettings.setLoadsImagesAutomatically(true); //支持自動加載圖片
webSettings.setDefaultTextEncodingName("UTF-8");//設(shè)置編碼UTF-8
webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); //支持內(nèi)容重新布局
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //關(guān)閉webview中緩存
webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通過JS打開新窗口
-WebViewClient 的方法全解:
doUpdateVisitedHistory(WebView view, String url, boolean isReload) //(更新歷史記錄)
onFormResubmission(WebView view, Message dontResend, Message resend) //(應(yīng)用程序重新請求網(wǎng)頁數(shù)據(jù))
onLoadResource(WebView view, String url) // 在加載頁面資源時會調(diào)用,每一個資源(比如圖片)的加載都會調(diào)用一次。
onPageStarted(WebView view, String url, Bitmap favicon) //這個事件就是開始載入頁面調(diào)用的,通常我們可以在這設(shè)定一個loading的頁面,告訴用戶程序在等待網(wǎng)絡(luò)響應(yīng)。
onPageFinished(WebView view, String url) //在頁面加載結(jié)束時調(diào)用。同樣道理,我們知道一個頁面載入完成,于是我們可以關(guān)閉loading 條,切換程序動作。
onReceivedError(WebView view, int errorCode, String description, String failingUrl)// (報告錯誤信息)
onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host,String realm)//(獲取返回信息授權(quán)請求)
onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) //重寫此方法可以讓webview處理https請求。
onScaleChanged(WebView view, float oldScale, float newScale) // (WebView發(fā)生改變時調(diào)用)
onUnhandledKeyEvent(WebView view, KeyEvent event) //(Key事件未被加載時調(diào)用)
shouldOverrideKeyEvent(WebView view, KeyEvent event)//重寫此方法才能夠處理在瀏覽器中的按鍵事件。
shouldOverrideUrlLoading(WebView view, String url)
//在點擊請求的是鏈接是才會調(diào)用,重寫此方法返回true表明點擊網(wǎng)頁里面的鏈接還是在當(dāng)前的webview里跳轉(zhuǎn),不跳到瀏覽器那邊。這個函數(shù)我們可以做很多操作,比如我們讀取到某些特殊的URL,于是就可以不打開地址,取消這個操作,進(jìn)行預(yù)先定義的其他操作,這對一個程序是非常必要的。