一、使用步骤

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依赖引入地址

组件类--发送验证码倒计时相关推荐

  1. android 倒计时封装,react native中的聊天气泡及timer封装成的发送验证码倒计时

    其实,今天我想把我近期遇到的坑都总结一下: 1.goBack的跨页面跳转,又两种方法,一可以像兔哥那样修改navigation源码,二可以用navigationActions 2.父子组件的传值,一可 ...

  2. 发送验证码倒计时效果实现

    目录 前言 一.应用场景 二.代码演示 三. 效果演示 总结 前言 今天用@vueuse/core中提供的一个方法,实现发送验证码时倒计时的一个效果.这样的场景使我们经常会见到的,一起来看一下如何实现 ...

  3. 手机短信验证码登录功能的开发实录(机器识别码、短信限流、错误提示、发送验证码倒计时60秒)

    短信验证码登录功能 项目分析 核心代码 1.外部js库调用 2.HTML容器构建 3.javaScript业务逻辑验证 4.后端验证逻辑 总结 短信验证码是通过发送验证码到手机的一种有效的验证码系统, ...

  4. uniapp 发送验证码倒计时

    实现原理,点击发送验证码按钮,开始倒计时效果  准备工作 :在data中定义变量 ​​​​​​​ 点击事件 let timerId = setInterval(() => {this.count ...

  5. 微信小程序好看的输入信息界面——发送验证码倒计时

    微信小程序好看的输入信息界面 简介 输入个人信息界面,录入个人信息等都可以使用到这个界面: 1.输入信息的布局界面 2.选择大陆还是港澳台的手机号码 3.输入手机号码, 4.获取验证码的60S倒计时, ...

  6. jq 实现发送验证码倒计时功能

    var util = { wait:60, hsTime: function (that) { _this = this; if (_this.wait == 0) { $('#hsbtn').rem ...

  7. vue使用element发送手机验证码倒计时

    发送验证码倒计时 html <el-form class="form" :model="form" labeal-position="left& ...

  8. android 获取验证码倒计时

    在开发时,登陆注册时必有的模块,下面是记录一下注册时获取验证码的方法:效果图如下: 获取验证码后,进入倒计时并且是不可点击的状态. 1.复制下面工具类到项目中 import android.graph ...

  9. 简单实现获取短信验证码倒计时效果

    我急切地盼望着可以经历一场放纵的快乐,纵使巨大的悲哀将接踵而至,我也在所不惜.--太宰治<人间失格> 一:HTML结构: <div class="input-box1&qu ...

最新文章

  1. 修改Vista系统目录权限
  2. WinCE启动次数的记录
  3. python安装mysql数据库教程,Python配置mysql的教程(必看)
  4. linux到不了启动界面,Linux 界面不能启动的解决
  5. 给你的ABAP对象打上标签(Tag)
  6. java 如何排查内存溢出_java 内存溢出排查
  7. Adobe illustrator 设置字体和微调 - 连载 10
  8. Debian 10(buster) 更换国内软件源
  9. [码海拾贝 之TC] 呼叫外部应用程序或脚本
  10. DB2常见错误码注释
  11. td onmouseover=this.style.cursor='hand' onmouseout=this.style.cursor='normal' 小手状
  12. Windows下安装Redies
  13. git官网下载太慢解决方法
  14. curl调用新版jenkins crumb报错 No valid crumb was included in the request 解决方法
  15. 如何解决中小企业融资难问题
  16. Java毕设项目二次元文化网站(java+VUE+Mybatis+Maven+Mysql)
  17. 第三讲使用VPB切割和加载
  18. CKEditor编辑器的用法
  19. BigDecimal的基本认识和加减乘除计算
  20. 分享几个echarts复杂结构和图例字体中数字显示不同颜色

热门文章

  1. 组合图形-第13届蓝桥杯Scratch省赛1真题第4题
  2. 八字四柱排盘原理及源码(PHP、Java和Python)
  3. BeanDefinition到Bean
  4. Android Q Beta 正式发布 | 精于形,安于内
  5. 【华为机试真题 Python实现】藏宝图
  6. 【目标检测竞赛总结】IEEE UV 2022 “Vision Meets Algae” Object Detection Challenge
  7. wireshark Fiddler抓包分析与解密https Fiddler修改https请求和响应
  8. 【c语言】(函数)金字塔图形问题:根据n的个数,输出由字母组成的一个金字塔图形
  9. 如何查看 lib 文件
  10. SLAM发展现状研究