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

假如這樣將其進(jìn)度設(shè)置到progressBar的體驗(yàn)感就相當(dāng)?shù)牟睿缦聢D所示:
現(xiàn)在我們希望想要其在加載網(wǎng)頁的時(shí)候希望給用戶一種勻速加載的感覺,盡管他不是網(wǎng)頁真正加載的進(jìn)度,但我們只需要在網(wǎng)頁剛開始加載后和網(wǎng)頁加載結(jié)束前模擬一個(gè)勻速加載的效果,也就是重寫WebViewClient的onPageStarted()方法,在其中開啟一個(gè)定時(shí)器,重寫onPageFinished(),將定時(shí)器關(guān)閉掉,達(dá)到勻速加載網(wǎng)頁的效果,提到定時(shí)器,就不得不說一下相關(guān)的東西了。
簡(jiǎn)單來說就分成兩個(gè)東西,一個(gè)Timer,另外一個(gè)就是timer的所要執(zhí)行的計(jì)劃或者說是任務(wù)(Task),將這個(gè)任務(wù)(task)設(shè)置給定時(shí)器(timer),告訴定時(shí)器(timer)什么時(shí)候執(zhí)行任務(wù)(Task),而任務(wù)就是我們要要干的事,可以這樣說定時(shí)器想一個(gè)鬧鐘(Timer),任務(wù)相當(dāng)于我們起床(任務(wù)Task),當(dāng)鬧鐘執(zhí)行到我們?cè)O(shè)置的時(shí)間時(shí)(schedule),就提醒我們?cè)撈鸫擦?/p>
Timer執(zhí)行指定的任務(wù)可以有一下幾種方法
//在指定的時(shí)間執(zhí)行指定的任務(wù)。
public void schedule(TimerTask task, Date when) {}
//延遲指定時(shí)間后執(zhí)行指定的任務(wù)
public void schedule(TimerTask task, long delay) {}
//按設(shè)置延遲時(shí)間和時(shí)間間隔重復(fù)執(zhí)行指定的任務(wù)
public void schedule(TimerTask task, long delay, long period) {}
//在指定的時(shí)間和時(shí)間間隔重復(fù)執(zhí)行指定的任務(wù)
public void schedule(TimerTask task, Date when, long period) {}
網(wǎng)站名稱:使用Timer實(shí)現(xiàn)網(wǎng)頁勻速加載的進(jìn)度條樣式-創(chuàng)新互聯(lián)
本文地址:http://www.chinadenli.net/article38/pccsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、虛擬主機(jī)、網(wǎng)站導(dǎo)航、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容