使用Timer實現(xiàn)網(wǎng)頁勻速加載的進度條樣式-創(chuàng)新互聯(lián)

在使用WebView加載網(wǎng)頁時有時候網(wǎng)速等原因加載比較慢時,為了避免在加載網(wǎng)頁的時候出現(xiàn)一片空白的區(qū)域,給用戶很不好的體驗感,我們往往在加載的時候添加一個進度條,使用戶直觀的感受到網(wǎng)頁加載的進度,通常我們可以通過WebChromeClient里面的onProgressChanged()方法獲取到當前的網(wǎng)頁加載進度,但是當我們使用時會發(fā)現(xiàn)他的網(wǎng)頁加載進度不是一點一點加載的,也許一下就加載到50%下一秒直接加載到80%,如果我們將其設置給progressBar看起來就很快而且很不順暢,體驗感較差,如下圖所示加載的網(wǎng)頁進度:

創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、成都網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務朔州,10多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108

假如這樣將其進度設置到progressBar的體驗感就相當?shù)牟睿缦聢D所示:

現(xiàn)在我們希望想要其在加載網(wǎng)頁的時候希望給用戶一種勻速加載的感覺,盡管他不是網(wǎng)頁真正加載的進度,但我們只需要在網(wǎng)頁剛開始加載后和網(wǎng)頁加載結(jié)束前模擬一個勻速加載的效果,也就是重寫WebViewClient的onPageStarted()方法,在其中開啟一個定時器,重寫onPageFinished(),將定時器關(guān)閉掉,達到勻速加載網(wǎng)頁的效果,提到定時器,就不得不說一下相關(guān)的東西了。


簡單來說就分成兩個東西,一個Timer,另外一個就是timer的所要執(zhí)行的計劃或者說是任務(Task),將這個任務(task)設置給定時器(timer),告訴定時器(timer)什么時候執(zhí)行任務(Task),而任務就是我們要要干的事,可以這樣說定時器想一個鬧鐘(Timer),任務相當于我們起床(任務Task),當鬧鐘執(zhí)行到我們設置的時間時(schedule),就提醒我們該起床了


Timer執(zhí)行指定的任務可以有一下幾種方法

//在指定的時間執(zhí)行指定的任務。
 public void schedule(TimerTask task, Date when) {}
 //延遲指定時間后執(zhí)行指定的任務
 public void schedule(TimerTask task, long delay) {}
 //按設置延遲時間和時間間隔重復執(zhí)行指定的任務
 public void schedule(TimerTask task, long delay, long period) {}
 //在指定的時間和時間間隔重復執(zhí)行指定的任務
 public void schedule(TimerTask task, Date when, long period) {}

網(wǎng)站名稱:使用Timer實現(xiàn)網(wǎng)頁勻速加載的進度條樣式-創(chuàng)新互聯(lián)
本文地址:http://www.muchs.cn/article38/pccsp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、企業(yè)網(wǎng)站制作、網(wǎng)站設計公司虛擬主機、網(wǎng)站導航動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設