沈陽(yáng)APP開(kāi)發(fā)實(shí)現(xiàn)倒計(jì)時(shí)效果
2024/8/9 11:47:04 瀏覽:1126
日常生活中我們?cè)谒⑻詫?、京東一些商城類(lèi)APP時(shí),如果遇到當(dāng)時(shí)打折的寶貝,都會(huì)看到在商品頁(yè)面旁邊會(huì)顯示一排時(shí)間文字,然后時(shí)間會(huì)跟隨約定要時(shí)間的間隔自動(dòng)遞減至零為止,然后時(shí)間文字消失,商品價(jià)格同時(shí)恢復(fù)原價(jià),也就是平常我們說(shuō)的倒計(jì)時(shí)效果,那么這個(gè)效果在實(shí)際APP開(kāi)發(fā)中時(shí)如何實(shí)現(xiàn)呢,今天就來(lái)跟大家分享一下相關(guān)經(jīng)驗(yàn)方法。首先我們要先了解CountDownTimer這個(gè)對(duì)象,創(chuàng)建這個(gè)對(duì)象時(shí)我們需要兩個(gè)參數(shù)millisInFuture和countDownInterval,前者代表倒計(jì)時(shí)的總時(shí)間,后者代表遞減間隔時(shí)間,這里要注意兩個(gè)時(shí)間參數(shù)的單位要保持一致,比如我們要實(shí)現(xiàn)一個(gè)30秒倒計(jì)時(shí)的功能,每隔一秒更新一次時(shí)間,那么就需要傳入30*1000和1000兩個(gè)數(shù)字參數(shù),之后我們需要實(shí)現(xiàn)onTick和onFinish兩個(gè)方法,其中onTick會(huì)回調(diào)一個(gè)millisUntilFinished剩余時(shí)間,例如返回2979,那么用這個(gè)結(jié)果除以1000,然后省略掉小數(shù)點(diǎn)保留整數(shù),得到的就是29秒。而onFinish方法,顧名思義就是倒計(jì)時(shí)結(jié)束后的回調(diào)函數(shù),在這里我們需要處理整個(gè)倒計(jì)時(shí)結(jié)束后的一些邏輯,這樣我們就基本實(shí)現(xiàn)了一個(gè)倒計(jì)時(shí)30秒,每隔1秒更新一次時(shí)間的小功能。其實(shí)這個(gè)倒計(jì)時(shí)效果不止商城類(lèi)APP要用到,在其他APP開(kāi)發(fā)中,比如我們用自己的手機(jī)號(hào)注冊(cè)登錄APP,需要發(fā)送求取手機(jī)驗(yàn)證碼的API,這時(shí)我們需要規(guī)定多少秒結(jié)束后才可以再一次發(fā)送求取驗(yàn)證的API,在倒計(jì)時(shí)期間是不允許頻繁請(qǐng)求驗(yàn)證碼API的。