使用介紹
開發(fā)中經(jīng)常會遇到一些和倒計時有關(guān)的場景,比如發(fā)送驗(yàn)證碼的按鈕,會在點(diǎn)擊發(fā)送后,顯示倒計時間,倒計時結(jié)束后才能夠刷新按鈕,再次允許點(diǎn)擊。為了不阻塞軟件的運(yùn)行,又要實(shí)時刷新界面,我們通常會用到 Handler 或者 AsyncTask 等技術(shù),自己寫邏輯實(shí)現(xiàn)。其實(shí) Android 中已經(jīng)封裝好了一套 CountDownTimer 來實(shí)現(xiàn)這個功能需求。
CountDownTimer(long millisInFuture, long countDownInterval)
CountDownTimer的兩個參數(shù)分別表示倒計時的總時間 millisInFuture 和間隔時間 countDownInterval。
具體的調(diào)用如下:
TextView vertifyBtn; CountDownTimer timer = new CountDownTimer(60000, 1000) { @Override public void onTick(long millisUntilFinished) { vertifyBtn.setText((millisUntilFinished / 1000) + " second"); } @Override public void onFinish() { vertifyBtn.setEnabled(true); vertifyBtn.setText("Send"); } }; timer.start();