以前写倒计时的时候总是喜欢用Handler+Thread来实现,代码量稍多,并且分散,后来才发现其实Android已经有封装好的类可以直接帮我们实现这个功能了
CountDownTimer
CountDownTimer的功能为定时执行在一段时候后停止的倒计时,在倒计时执行过程中会在固定间隔时间得到通知(译者:触发onTick方法),下面的例子显示在一个文本框中显示一个30s倒计时:
new CountdownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
构造函数
public CountDownTimer (long millisInFuture, long countDownInterval)
参数
millisInFuture 从开始调用start()到倒计时完成并onFinish()方法被调用的毫秒数。(倒计时总时间,单位毫秒)
countDownInterval 接收onTick(long)回调的间隔时间。(单位毫秒)
公共方法
public final void cancel ()
取消倒计时(译者:取消后,再次启动会重新开始倒计时)
public abstract void onFinish ()
倒计时完成时被调用
public abstract void onTick (long millisUntilFinished)
固定间隔被调用
参数
millisUntilFinished 倒计时剩余时间。
public synchronized final CountDownTimer start ()
启动倒计时
文章借鉴:http://www.cnblogs.com/over140/archive/2011/12/20/2294220.html