使用TextSwitcher和CountDownTimer实现简单的倒计时控件

最近在做注册登录模块,里面发送验证码后,会有一个60秒计时后点击重新发送的按钮。看了同事之前实现类似功能是使用CountDownTimer来计时的,之前没用过这个类,了解了一下还是挺简单的。但是逻辑全放在了外面,秉着高内聚、低耦合的思想,打算小小封装一个控件,使外层的调用尽量简洁,刚好最近又看到了TextSwitcher实现文字切换添加动画的效果,于是打算将他们结合使用一下,CountDownTextView便应运而生..

效果图

废话不多说,先上图为敬

使用TextSwitcher和CountDownTimer实现简单的倒计时控件_第1张图片
QQ图片20180101202853.gif

使用方法

1.添加jitpack 并添加依赖

root build.gradle:  
allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }  
  
your project:  
dependencies {
            compile 'com.github.magical-xu:CountDownTextView:v1.0.2'
    }

2.在XML文件中引用


3.可用方法
开始计时调用 start() 方法
失败或手动取消调用 cancel()方法
重置为初始状态调用 reset()方法

4.设置重发事件监听

mBtnNormal.setResendListener(new CountDownTextView.onReSend() {
      @Override
      public void onResend(View view) {
        //计时结束后 点击事件回调
      }
});

源码地址

https://github.com/magical-xu/CountDownTextView

你可能感兴趣的:(使用TextSwitcher和CountDownTimer实现简单的倒计时控件)