温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android实现一个图片验证码倒计时功能

发布时间:2020-10-13 23:24:28 来源:脚本之家 阅读:127 作者:卡夫卡15 栏目:移动开发

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

android实现一个图片验证码倒计时功能 android实现一个图片验证码倒计时功能 android实现一个图片验证码倒计时功能                     

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();

总结

以上所述是小编给大家介绍的android实现一个图片验证码倒计时功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI