Android中使用CountDownTimer实现Button上倒计时
偶然情况下知道Android中有个CountDownTimer类,它的功能是记录下载时间,将后台线程的创建和Handler封装起来,可以方便调用。
首先可以创建一个类TimeCounter继承CountDownTimer类:
class TimeCounter extends CountDownTimer {
public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);//参数依次为总时长,和计时的时间间隔
}
@Override
public void onTick(long millisUntilFinished) {
//计时过程显示
btn.setClickable(false);//将按钮设置成不可点击
btn.setText(millisUntilFinished / 1000 + "秒");
}
@Override
public void onFinish() {
//计时完毕时触发
btn.setText("获取验证码");
btn.setClickable(true);//计时完毕后设置归位
}
}
我们在用的时候只需要初始化并调用它的start方法开始即可:
TimeCounter timer=new TimeCounter(60000,1000);//总时长60s,间隔时间1s
timer.start();//开始计时
//timer.cancel();//取消计时