天天看點

Android 簡單實作倒計時CountDownTimer

好久沒寫部落格,今天做demo的時候做了一個倒計時的功能,主要用到CountDownTimer,實作也非常簡單,這裡為大家做個簡單解釋。

首先,CountDownTimer我們要用它,準要是實作四個方法onTick,onFinsh、cancel和start

onTick(long millisUntilFinished):

固定間隔的時候被調用.
           

onFinsh():

倒計時完成時被調用.    
           

cancel():

取消倒計時.
           

start():

開啟倒計時.
           

好了,簡單介紹一遍,現在看代碼

接着,我們需要建立一個類來實作我們的代碼。

class TimeCount extends CountDownTimer
    {
        public TimeCount(long millisInFuture, long countDownInterval) {
            super(millisInFuture, countDownInterval);
        }
        @Override
        public void onFinish() {
            btn_send.setText("重新發送資訊");
            //按鍵顯示
            btn_send.setVisibility(View.VISIBLE);
            btn_time.setVisibility(View.GONE);
        }
        @Override
        public void onTick(long millisUntilFinished) {
            btn_time.setText("請等待20秒(" + millisUntilFinished /  + ")...");
            Toast.makeText(MainActivity.this, millisUntilFinished /  + "", Toast.LENGTH_LONG).show();//toast有顯示時間延遲
        }
    }
           

建立好後,隻用建立對象,傳入參數就好了(第一個參數為總共倒計時間,第二個倒計時時間間隔)

TimeCount  myCount=new TimeCount(20000,1000);
myCount.start();
           

效果如下(簡單做個示範,大家可以把布局做的精美一點):

Android 簡單實作倒計時CountDownTimer

如果不喜歡這種方法實作倒計時的朋友,可以到

http://www.open-open.com/lib/view/open1343782266665.html

看看瞧瞧,這裡一共有五種不同實作倒計時的方式,而且作者說的也很詳細。

繼續閱讀