android呼叫H5顯示載入中效果
阿新 • • 發佈:2019-02-10
我們在看有些應用在引入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是自己寫的一個小工具類,很簡單自己定義下即可