美文网首页
在Button控件上显示倒计时

在Button控件上显示倒计时

作者: 萌太浪 | 来源:发表于2016-03-31 14:37 被阅读679次
    一丶前言

    今天做项目的时候,需要做一个按钮获取验证码,点击之后按钮需要倒计时,并且不可点击。现在将方法记录下来,方便下次遇到的时候解决。

    二、实现

    先上一张成功示意图:


    成功示意图

    实现倒计时的代码:

    //这段是实现倒计时的代码
    class TimeCount extends CountDownTimer {
        public TimeCount(long millisInFuture, long countDownInterval) {
            super(millisInFuture, countDownInterval);//参数依次为总时长,和计时的时间间隔
        }
        
        @Override
        public void onFinish() {//计时完毕时触发
            //按钮上的文本显示
            button.setText("重新获取");
            //设置按钮可点击
            button.setClickable(true);
        }
        
        @Override
        public void onTick(long millisUntilFinished){//计时过程显示
            //设置按钮不可点击
            button.setClickable(false);
            //设置倒计时时的显示文本
            button.setText(getString(millisUntilFinished/1000 + "秒后重新获取");
        }
    }
    

    在要实现的按钮点击的时候调用此类:

    //点击按钮时触发倒计时,单位是毫秒
    new TimeCount(60000, 1000).start();
    

    这样就可以实现按钮倒计时的功能了。
    我采取的是内部类的方法实现,也可以单独提取出来封成通用方法。

    来自我的博客 -- 吾萌小筑

    相关文章

      网友评论

          本文标题:在Button控件上显示倒计时

          本文链接:https://www.haomeiwen.com/subject/bkbelttx.html