android 点击获取验证码显示倒计时并不可用

android 中有一个封装好的CountDownTimer类,可以直接调用实现倒计时效果。

代码实现:

新建一个TimerCount类:

public class TimerCount extends CountDownTimer {
	private Button bnt;

//第一个参数代表总时长,第二个代表间隔时间,第三个是自己添加的参数,调用的时候传入需要的参数时使用
	public TimerCount(long millisInFuture, long countDownInterval, Button bnt) {
		super(millisInFuture, countDownInterval);
		this.bnt = bnt;
	}

	public TimerCount(long millisInFuture, long countDownInterval) {
		super(millisInFuture, countDownInterval);
	}

//倒计时结束后的处理,这里让button不可用且显示相应字符
	@Override
	public void onFinish() {
		bnt.setEnabled(true);
		bnt.setText("获取验证码");
	}

//倒计时过程中的设置
	@SuppressLint("ResourceAsColor")
	@Override
	public void onTick(long arg0) {
		// 设置倒计时过程中的字体属性
		bnt.setTextColor(R.color.divider);
		bnt.setText(arg0 / 1000 + "");
		bnt.setEnabled(false);
		
	}


}

其他类对其调用:


@OnClick(R.id.get_code)
	void Code() {
		TimerCount timerCount = new TimerCount(60000, 1000, get_code);timerCount.start();
	}




你可能感兴趣的:(android 点击获取验证码显示倒计时并不可用)