组件类--发送验证码倒计时
一、使用步骤
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依赖引入地址
组件类--发送验证码倒计时相关推荐
- android 倒计时封装,react native中的聊天气泡及timer封装成的发送验证码倒计时
其实,今天我想把我近期遇到的坑都总结一下: 1.goBack的跨页面跳转,又两种方法,一可以像兔哥那样修改navigation源码,二可以用navigationActions 2.父子组件的传值,一可 ...
- 发送验证码倒计时效果实现
目录 前言 一.应用场景 二.代码演示 三. 效果演示 总结 前言 今天用@vueuse/core中提供的一个方法,实现发送验证码时倒计时的一个效果.这样的场景使我们经常会见到的,一起来看一下如何实现 ...
- 手机短信验证码登录功能的开发实录(机器识别码、短信限流、错误提示、发送验证码倒计时60秒)
短信验证码登录功能 项目分析 核心代码 1.外部js库调用 2.HTML容器构建 3.javaScript业务逻辑验证 4.后端验证逻辑 总结 短信验证码是通过发送验证码到手机的一种有效的验证码系统, ...
- uniapp 发送验证码倒计时
实现原理,点击发送验证码按钮,开始倒计时效果 准备工作 :在data中定义变量 点击事件 let timerId = setInterval(() => {this.count ...
- 微信小程序好看的输入信息界面——发送验证码倒计时
微信小程序好看的输入信息界面 简介 输入个人信息界面,录入个人信息等都可以使用到这个界面: 1.输入信息的布局界面 2.选择大陆还是港澳台的手机号码 3.输入手机号码, 4.获取验证码的60S倒计时, ...
- jq 实现发送验证码倒计时功能
var util = { wait:60, hsTime: function (that) { _this = this; if (_this.wait == 0) { $('#hsbtn').rem ...
- vue使用element发送手机验证码倒计时
发送验证码倒计时 html <el-form class="form" :model="form" labeal-position="left& ...
- android 获取验证码倒计时
在开发时,登陆注册时必有的模块,下面是记录一下注册时获取验证码的方法:效果图如下: 获取验证码后,进入倒计时并且是不可点击的状态. 1.复制下面工具类到项目中 import android.graph ...
- 简单实现获取短信验证码倒计时效果
我急切地盼望着可以经历一场放纵的快乐,纵使巨大的悲哀将接踵而至,我也在所不惜.--太宰治<人间失格> 一:HTML结构: <div class="input-box1&qu ...
最新文章
- 修改Vista系统目录权限
- WinCE启动次数的记录
- python安装mysql数据库教程,Python配置mysql的教程(必看)
- linux到不了启动界面,Linux 界面不能启动的解决
- 给你的ABAP对象打上标签(Tag)
- java 如何排查内存溢出_java 内存溢出排查
- Adobe illustrator 设置字体和微调 - 连载 10
- Debian 10(buster) 更换国内软件源
- [码海拾贝 之TC] 呼叫外部应用程序或脚本
- DB2常见错误码注释
- td onmouseover=this.style.cursor='hand' onmouseout=this.style.cursor='normal' 小手状
- Windows下安装Redies
- git官网下载太慢解决方法
- curl调用新版jenkins crumb报错 No valid crumb was included in the request 解决方法
- 如何解决中小企业融资难问题
- Java毕设项目二次元文化网站(java+VUE+Mybatis+Maven+Mysql)
- 第三讲使用VPB切割和加载
- CKEditor编辑器的用法
- BigDecimal的基本认识和加减乘除计算
- 分享几个echarts复杂结构和图例字体中数字显示不同颜色
热门文章
- 组合图形-第13届蓝桥杯Scratch省赛1真题第4题
- 八字四柱排盘原理及源码(PHP、Java和Python)
- BeanDefinition到Bean
- Android Q Beta 正式发布 | 精于形,安于内
- 【华为机试真题 Python实现】藏宝图
- 【目标检测竞赛总结】IEEE UV 2022 “Vision Meets Algae” Object Detection Challenge
- wireshark Fiddler抓包分析与解密https Fiddler修改https请求和响应
- 【c语言】(函数)金字塔图形问题:根据n的个数,输出由字母组成的一个金字塔图形
- 如何查看 lib 文件
- SLAM发展现状研究