設定WebView載入進度條
阿新 • • 發佈:2019-02-17
在安卓開發中,當使用到WebView載入H5頁面時,因為看不到網頁的具體載入進度,這點使用者體驗不是很好,所以為了提高使用者體驗,我們可以在載入WebView時在其上方加入進度條以顯示載入進度,待頁面載入完成後隱藏掉。
萬能的google已經在WebChromeClient類的onProgressChanged函式中給我們提供了當前的頁面載入進度newProgress,我們只需要在佈局中寫個style="@android:style/Widget.ProgressBar.Horizontal" 的ProgressBar,然後再程式碼中給它設定newProgress待載入完成後將其隱藏即可。
看看效果圖:
當然了,這只是普普通通的進度條,網頁返回的進度多少它就顯示多少,一般的我們都知道,載入h5的頁面嘛,進度基本都是一下停一下走的,速度很不協調想。
想想也是很影響使用者體驗啊,所以我想寫個載入速度比較協調的進度條,主要思路是將網頁返回的速度跨度拆分顯示進度條,再利用Timer和TimerTask定時顯示進度。
使用的時候把專案down下來,需要用的類copy到你的專案,程式碼裡都有註釋說明的。用法和專案裡面的MainActivity一樣,只需要將url傳入開啟的WebViewH5Activity即可。WebViewH5Activity基本支援正常的使用了,WebSettings需要特殊的設定時再自行新增。
另外我還寫了當網路異常時的提示頁面,跟微信差不多,點選重新載入。看看效果圖:
ok,本次分享,希望能夠幫助各位童鞋節省時間精力,也隨便記錄一波。