android中的验证码倒计时_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > android中的验证码倒计时

android中的验证码倒计时

 2017/11/6 18:21:57  卡夫卡15  程序员俱乐部  我要评论(0)
  • 摘要:1.如图所示,要实现一个验证码的倒计时的效果2.实现图中获取验证码那块是一个button按钮关键部分,声明一个TimeCount,继承自CountDownTimer/*验证码倒计时*/privateclassTimeCountextendsCountDownTimer{/***@parammillisInFuture总时间长度(毫秒)*@paramcountDownInterval时间间隔(毫秒),每经过一次时间间隔都会调用onTick方法*/publicTimeCount
  • 标签:android

1.如图所示,要实现一个验证码的倒计时的效果

                                   

2.实现

  图中获取验证码那块是一个button按钮

  

 

  关键部分,声明一个TimeCount,继承自CountDownTimer

/*验证码倒计时*/
private class TimeCount extends CountDownTimer{
/**
* @param millisInFuture 总时间长度(毫秒)
* @param countDownInterval 时间间隔(毫秒),每经过一次时间间隔都会调用onTick方法
*/
public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}

@Override
public void onTick(long millisUntilFinished) { //倒计时状态
getVerificationCodeBtn.setClickable(false); //设置button此时不可点击
getVerificationCodeBtn.setBackground(getResources().getDrawable(R.drawable.get_verification_code_waitting_bg));//修改button的背景
getVerificationCodeBtn.setTextColor(getResources().getColor(R.color.black));//修改button的textColor
getVerificationCodeBtn.setText(millisUntilFinished / 1000 +"s后可重新发送");//显示button的倒计时文字
}

@Override
public void onFinish() { //倒计时结束状态
getVerificationCodeBtn.setBackground(getResources().getDrawable(R.drawable.login_btn_bg));
getVerificationCodeBtn.setTextColor(getResources().getColor(R.color.white));
getVerificationCodeBtn.setClickable(true); //重新设置button为可点击
getVerificationCodeBtn.setText("重新获取"); //修改button的文字
}
}

最后在代码中,声明TimeCount并实例化,在button的点击事件中调用.start()方法启动定时器。

  TimeCount timeCount = new TimeCount(60000,1000);
  timeCount.start();

至此结束。

 

  

 

发表评论
用户名: 匿名