我們在看有些應(yīng)用在引入h5的時(shí)候經(jīng)常會有一個(gè)進(jìn)度條在轉(zhuǎn),顯示加載的意思,那么這個(gè)東西其實(shí)一般是我們android端做的事(不要把所有的事都推給h5~~~),其實(shí)實(shí)現(xiàn)起來很簡單,
ok 廢話不多說,上代碼吧
wv.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); DialogUtils.showUpdateDialog(MainActivity.this, "加載中", "請稍后。。。"); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); DialogUtils.hideDialog(); } @Override public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) { super.onReceivedError(view, request, error); Toast.makeText(MainActivity.this, "網(wǎng)頁加載錯(cuò)誤,請稍后重試", Toast.LENGTH_SHORT).show(); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return true; } } 其中的onPageStarted 和 onPageFinished和onReceivedError是我們這次要用到的方法,可以直接看方法名就能知道什么意思了。
其中onPageStarted表示的是當(dāng)我們加載開始時(shí)我們要做什么操作,很簡單這個(gè)時(shí)候你就定義一個(gè)dialog來顯示加載狀態(tài)就好了
onPageFinished表示的是當(dāng)我們加載完成后需要做什么操作,一般我們就是把這個(gè)加載dialog去掉就行了。至于這個(gè)onReceivedError是當(dāng)我們加載失敗做什么操作,這個(gè)時(shí)候一般是寫一個(gè)加載錯(cuò)誤的布局,或者fragment進(jìn)行頁面提示,
知道了方法那我們直接就實(shí)現(xiàn)就好了
請看效果圖

其中dialog是自己寫的一個(gè)小工具類,很簡單自己定義下即可
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選