美文网首页
在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