Android 倒计时工具类
相信很多开发者不管哪个APP都会使用到倒计时获取验证码,所以就写了这个博客,为了自己以后使用方便,也为了初学者使用。
1.初始化控件
public CountDownTimerUtils(TextView textView, long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
this.mTextView = textView;
}
2 倒计时期间会调用
@Override
public void onTick(long millisUntilFinished) {
mTextView.setClickable(false); //设置不可点击
mTextView.setText(millisUntilFinished / 1000 + "秒"); //设置倒计时时间
mTextView.setTextColor(Color.WHITE);//设置字体颜色
mTextView.setBackgroundResource(R.drawable.shape_my_yzm); //设置按钮为灰色,这时是不能点击的
SpannableString spannableString = new SpannableString(mTextView.getText().toString()); //获取按钮上的文字
ForegroundColorSpan span = new ForegroundColorSpan(Color.RED);
spannableString.setSpan(span, 0, 2, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);//将倒计时的时间设置为红色
mTextView.setText("("+spannableString+")" + "后重新获取");
}
3倒计时完成后调用
@Override
public void onFinish() {
mTextView.setText("重新获取验证码");
mTextView.setClickable(true);//重新获得点击
mTextView.setBackgroundResource(R.drawable.shape_my_yzm); //还原背景色
}
注释写的非常清楚了,第一次写博客,有任何问题欢迎随时联系我。忘记一个问题当前工具类需要继承CountDownTimer。