1、背景介绍
在项目开发中,如果涉及到短信验证码,就会有倒计时这样的功能需求,如下,给出一个倒计时的控件。
2、原理说明
只需要一个继承实现CountDownTimer的类即可,然后在代码中开启。注意这个是一个线程。
3、代码示例
代码如下,很简单,不多说:
private class TimeCount extends CountDownTimer {
public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onTick(long millisUntilFinished) {
mSendButton.setClickable(false);
mSendButton.setText(millisUntilFinished / 1000 + "秒后重新发送");
}
@Override
public void onFinish() {
mSendButton.setText("获取验证码");
mSendButton.setClickable(true);
}
}
这里有一个地方需要注意,我们需要在点击发送之后,确认按钮不可点击的状态,否则就会重复发送请求。