欢迎访问优讯网!
您当前的位置:首页 > 爱编程

组件类--发送验证码倒计时

时间:2020-01-08 08:03:11  来源:优讯网  作者:小卡司  浏览次数:

一、使用步骤
1、在module中引入

implementation 'com.tgcity.widget:VerificationCode:1.0.0' 或 implementation 'com.tgcity.widget:VerificationCode:latest.release'

2、在您项目对应的xml文件中引入控件 因为VerificationCodeView是继承AppCompatTextView,所以您可以当成AppCompatTextView来使用,可以正常设置字体大小,控件宽高、内间距等。

<com.tgcity.smsdemo.VerificationCodeView
android:id="@+id/verificationCode"
android:layout_width="120dp"
android:layout_height="40dp"
android:background="#fff"
android:gravity="center"
app:vc_click_col="#ff00"
app:vc_click_msg="s重发"
app:vc_duration="10"
app:vc_un_click_col="#ff0"
app:vc_un_click_msg="发送验证码" />

3、代码使用

//初始化对象 VerificationCodeView verificationCode = findViewById(R.id.verificationCode);
//设置总时间
verificationCode.setDuration(60);
//开始倒计时
verificationCode.startCountdown();
//设置回调
verificationCode.setListener(new VerificationCodeView.CountdownInterface() {
@Override public void onCountdownFinish() {
//处理完成业务
}});

二、源码分析
1、实现的具体需求如下:①、默认文案是“发送验证码” 默认颜色蓝色;②、发送过程中的文案“xxs后重新发送” 字体颜色 666; ③、开放 获取组件状态方法;④、开放 设置初始倒计时时长方法;⑤、开放 倒计时结束后的回调接口;⑥、开放 结束倒计时的方法;⑦、结束后文案和字体初始化

2、CountDownTimer类源于系统的android.os.CountDownTimer文件,此处将mMillisInFuture针对对象进行变量处理,为了保证用户可以自由设置倒计时总时间
3、针对attrs下的属性进行说明:①vc_un_click_msg:初始化的文案; ②vc_un_click_col:初始化的颜色;③vc_click_msg:倒计时的文案④vc_click_col:倒计时的颜色;⑤vc_duration:倒计时的时长
4、针对总时间“+100”进行说明,主要是在测试过程中发现倒计时的时间间隔并非严格意义的1000ms,而在毫秒转秒的过程中会对其进行取整处理,此时会影响秒数的正常显示,故做此处理

三、浏览地址
1、github源码地址

2、jcenter依赖引入地址

来顶一下
返回首页
返回首页

原文链接:https://my.oschina.net/u/3305597/blog/3154441


推荐资讯
如何下载旧版centos iso镜像 如何下载迷你mini版的centos镜像
如何下载旧版centos i
计算机的正确使用姿势 电脑痴如何正确的使用电脑
计算机的正确使用姿势
好用的后台管理的前端框架模版H-ui H-ui框架模版分享
好用的后台管理的前端
微信电脑多开方法 无需辅助电脑版微信双开方法分享
微信电脑多开方法 无
相关文章
栏目更新
栏目热门