好久沒寫部落格,今天做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();
效果如下(簡單做個示範,大家可以把布局做的精美一點):
如果不喜歡這種方法實作倒計時的朋友,可以到
http://www.open-open.com/lib/view/open1343782266665.html
看看瞧瞧,這裡一共有五種不同實作倒計時的方式,而且作者說的也很詳細。