简单实现一个倒计时的效果,根据CountDownTimer实现。
tv_get_vrification_code是你点击的那个获取验证码的TextView
//倒计时效果
private class MyCountDownTimer extends CountDownTimer {
//millisInFuture:总时间 countDownInterval:每隔多少时间刷新一次
public MyCountDownTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
//计时过程
@SuppressLint("SetTextI18n")
@Override
public void onTick(long lm) {
//不允许再次点击
tv_get_vrification_code.setClickable(false);
tv_get_vrification_code.setText(lm / 1000 + "秒");
}
//计时结束
@Override
public void onFinish() {
tv_get_vrification_code.setClickable(true);
tv_get_vrification_code.setText("重新获取");
}
}
具体使用,new一个timer
//倒计时
MyCountDownTimer timer = new MyCountDownTimer(60000, 1000);
在点击获取验证码后调用 timer.start();就行了
还原
//获取验证码还原
private void clearTimer() {
if (timer != null) {
timer.cancel();
tv_get_vrification_code.setText("获取验证码");
tv_get_vrification_code.setClickable(true);
}
}
就这样。