欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-11-04 12:27:46
1.如图所示,要实现一个验证码的倒计时的效果           &n...

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实现一个图片验证码倒计时功能,希望对大家有所帮助