1. 程式人生 > >android呼叫H5顯示載入中效果

android呼叫H5顯示載入中效果

我們在看有些應用在引入h5的時候經常會有一個進度條在轉,顯示載入的意思,那麼這個東西其實一般是我們android端做的事(不要把所有的事都推給h5~~~),其實實現起來很簡單,

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, "網頁載入錯誤,請稍後重試", Toast.LENGTH_SHORT).show();
                                }

                                @Override
                                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                                    return true;
                                }
                            }

其中的onPageStarted 和 onPageFinished和onReceivedError是我們這次要用到的方法,可以直接看方法名就能知道什麼意思了

其中onPageStarted表示的是當我們載入開始時我們要做什麼操作,很簡單這個時候你就定義一個dialog來顯示載入狀態就好了

onPageFinished表示的是當我們載入完成後需要做什麼操作,一般我們就是把這個載入dialog去掉就行了

至於這個onReceivedError是當我們載入失敗做什麼操作,這個時候一般是寫一個載入錯誤的佈局,或者fragment進行頁面提示,

知道了方法那我們直接就實現就好了

請看效果圖


其中dialog是自己寫的一個小工具類,很簡單自己定義下即可