我們在看有些應用在引入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是自己寫的一個小工具類,很簡單自己定義下即可
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答