Android WebView 使用技巧

歡迎大家和我分享
歡迎轉(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ù)先定義的其他操作,這對一個程序是非常必要的。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容