Android中使用CountDownTimer实现Button上倒计时

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();//取消计时

你可能感兴趣的:(android)