簡介
1.WebView是一個基于webkit引擎、展現(xiàn)web頁面的控件;(使用時注意加網(wǎng)絡(luò)權(quán)限)
2.除了具有一般View的屬性和設(shè)置外颗品,還可以對url請求袖牙、頁面加載侧巨、渲染、頁面交互進(jìn)行強(qiáng)大的處理鞭达;
2.Android的Webview在低版本和高版本采用了不同的webkit版本內(nèi)核司忱,4.4后直接使用了Chrome;
加載url
WebView的生命周期
WebSettings類
簡介:對WebView進(jìn)行配置和管理
WebViewClient類
簡介:處理各種通知 & 請求事件(對webview頁面加載管理畴蹭、如url重定向)
? ? ? ? ?(網(wǎng)頁加載的整個生命周期坦仍,開始-加載中-結(jié)束-攔截-失敗處理都在此操作)
shouldOverrideUrlLoading:?
? ? ? ? ? ?1)url重定向以及點擊頁面某些鏈接會執(zhí)行此方法
? ? ? ? ? ?2)默認(rèn)返回:return super.shouldOverrideUrlLoading(view, url),調(diào)父類方法叨襟,跳轉(zhuǎn)手機(jī)瀏覽器繁扎;
? ? ? ? ? ?3)return true:自己處理請求(eg:跳activity),url已經(jīng)加載完成糊闽,即使url會重定向也不再進(jìn)行加載锻离;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(即點一個鏈接铺峭,不會跳轉(zhuǎn)網(wǎng)頁而是跳轉(zhuǎn)activity)
? ? ? ? ? ?4)return false:webView自行處理(一般是將url加載出來),該重定向還是重定向汽纠,直到加載完成 卫键;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (即點擊一個鏈接,若重定向多次虱朵,既跳鏈接又多次跳activity)
onPageStarted:頁面加載時執(zhí)行莉炉,一般用作重定向的初始化操作;
在app內(nèi)加載網(wǎng)頁:mWebView.setWebViewClient(new WebViewClient);
WebChromeClient類
簡介:輔助 WebView 處理 Javascript 的對話框,網(wǎng)站圖標(biāo),網(wǎng)站標(biāo)題碴犬,進(jìn)度條等等絮宁。