android實現(xiàn)用戶體驗超棒的微信WebView進度條
現(xiàn)在微信的用戶體驗一直被產品經(jīng)理們所推崇,今天這里具體分析一下微信在WebView的進度條上怎么提升用戶體驗.
最終微信的加載進度條的效果圖
網(wǎng)絡正常的狀態(tài),分為兩種加載速度,前部分正常速度加載,后邊速度特意放慢,讓用戶感覺到你在非常賣力的在進行網(wǎng)絡請求.
斷開網(wǎng)絡的狀態(tài): 進度條還是分為兩種速度,類似于網(wǎng)絡正常的狀態(tài),也能讓用戶感覺到你在非常賣力的在進行網(wǎng)絡請求.
實現(xiàn)的思路
- 大方面要分兩種情況:沒有網(wǎng)絡,有網(wǎng)絡情況
- 實現(xiàn)加載進度條的兩種速度,前邊比較快,后邊估計放緩慢
- 利用自定義View屬性動畫實現(xiàn)進度條的流暢加載
- 進度條的漸變消失
遇到的難點,踩過的坑
1、進度條的位置問題
進度條加載完成后消失,是invisible還是gone掉,前者會留下一片空白,后者會讓下邊的webview向上跳一下。有人會說獲取網(wǎng)頁的顏色,然后把進度條的顏色換成相對應的顏色,這個太復雜了。然后仔細看微信的實現(xiàn)方案,發(fā)現(xiàn)在相對布局xml中直接把進度條放到webview后邊,然后置頂就可以了,加載完畢后就會消失。
2、斷開網(wǎng)絡狀態(tài)下,錯誤攔截狀態(tài)下onProgressChanged還是會從0到100,會出現(xiàn)兩個進度條,解決辦法辦法倒是簡單,當時可是沒想通,斷網(wǎng)居然還走這個方法.
3、兩種進度條加載速度的實現(xiàn)和進度條的流暢加載
流暢加載 ::我這里自定義View來實現(xiàn)的,通過屬性動畫來實現(xiàn)流暢加載
兩種加載速度 :
這里自定義View里邊設置方法和方法回調
兩種加載速度的具體實現(xiàn)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android監(jiān)聽滑動控件實現(xiàn)狀態(tài)欄顏色切換
這篇文章給大家分享一個平時在滑動頁面經(jīng)常遇到的效果:滑動過程動態(tài)修改狀態(tài)欄顏色,文中有詳細的示例代碼,對我們的學習或工作有一定的幫助,感興趣的小伙伴自己動手試試吧2023-08-08