zoukankan      html  css  js  c++  java
  • 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();

    至此结束。

      

  • 相关阅读:
    常用的Xcode插件和
    view的封装,xib和stroryBoard加载及使用
    Plist文件的和懒加载
    网络基础
    网络基础,
    我的博客
    100个容器引擎项目,点亮你的容器集群技能树
    通俗易懂量子计算的原理
    接口自动化测试设计
    蚂蚁金服冯柯:下一个十年,核心自研技术将迎来黄金发展期
  • 原文地址:https://www.cnblogs.com/wangxinqiang1995/p/7794168.html
Copyright © 2011-2022 走看看