Android自定义控件之短信验证码自动填充
VerifyCodeView
VerifyCodeView是一个用于输入验证码的Android自定义控件,它支持数字类型的验证码,支持自定义外观,并且支持短信验证码自动填充。
项目地址:https://github.com/wei-gong/VerifyCodeView
在项目中引入VerifyCodeView
Gradle
dependencies {compile 'com.github.gongw:verifycodeview:1.0.2'
}
Maven
<dependency><groupId>com.github.gongw</groupId><artifactId>verifycodeview</artifactId><version>1.0.2</version><type>pom</type>
</dependency>
支持的自定义属性
vcTextCount
- 验证码长度vcTextColor
- 验证码字体颜色vcTextSize
- 验证码字体大小,单位spvcTextFont
- 验证码字体样式文件路径(assets中的路径)vcDividerWidth
- 每个验证码之间的间隔距离,单位dpvcWrapper
- 包裹验证码的外观样式vcWrapperStrokeWidth
- 包裹验证码的外观的线条宽度,单位dpvcWrapperColor
- 包裹验证码的外观颜色vcNextWrapperColor
- 包裹将要被填充的验证码的外观颜色
使用示例
xml
<com.github.gongw.VerifyCodeViewandroid:layout_width="240dp"android:layout_height="50dp"android:layout_marginTop="42dp"app:vcTextColor="#b63b21"app:vcTextCount="4"app:vcTextSize="36sp"app:vcDividerWidth="8dp"app:vcWrapper="centerLine"app:vcWrapperColor="#313335"app:vcNextWrapperColor="#b63b21"app:vcWrapperStrokeWidth="2dp" />
java
verifycodeView.setOnAllFilledListener(new VerifyCodeView.OnAllFilledListener() {@Overridepublic void onAllFilled(String text) {Toast.makeText(MainActivity.this, "filled by "+text, Toast.LENGTH_SHORT).show();}});
自定义外观
verifycodeView.setVcWrapper(new VerifyCodeWrapper() {@Overridepublic boolean isCovered() {//whether the wrapper and verify code display togetherreturn false;}@Overridepublic void drawWrapper(Canvas canvas, Paint paint, RectF rectF, RectF textRectF) {//draw your own wrappercanvas.drawLine(textRectF.left - textRectF.width()/2, rectF.height()/2, textRectF.right + textRectF.width() / 2, rectF.height()/2, paint);}});
短信验证码自动填充
SmsVerifyCodeFilter filter = new SmsVerifyCodeFilter();
filter.setSmsSenderStart("1096");
filter.setSmsSenderContains("5225");
filter.setSmsBodyStart("验证短信:");
filter.setSmsBodyContains("验证码");
filter.setVerifyCodeCount(verifyCodeView.getVcTextCount());
verifyCodeView.startListen(filter);
Android自定义控件之短信验证码自动填充相关推荐
- ios 短信验证码自动填充时总是被复制两遍
ios 短信验证码自动填充时总是被复制两遍 解决: 限制input标签的maxlength:
- [ MessAuto ]: 短信验证码自动填充,理论支持所有浏览器或 APP, Only For Mac
MessAuto 开源地址:https://github.com/LeeeSe/MessAuto MessAuto 是一款 macOS 平台 自动提取 短信验证码并 粘贴回车 的软件,百分百由Rust ...
- 解决ios短信验证码自动填充两次bug
ios系统内部的bug 某些app或者微信网页里,复制手机收到的短信验证码,会触发UITextFieldTextDidChangeNotification监听事件,导致验证码出现了两次,这个应该是io ...
- ios短信验证码自动填充两次,且输入框的值为空。
vue使用中发现了一个问题,由于ios手机获取短信验证码后,验证码会直接显示在键盘上,点击键盘上的验证码即可给对应的input赋值,但是在项目开发中发现,输入框的取值为空. 其次,获取到值后,打印验证 ...
- 短信验证码自动填充时总是被复制两遍
1,ios,部分安卓系统短信自动填充会复制2次: 2,原因是系统bug,复制验证码会触发UITextFieldTextDidChangeNotification监听事件,导致验证码出现了两次. 3,解 ...
- ios 短信验证码自动填充时总是被复制两遍
这应该是ios系统本身的一个bug. 这个算是苹果系统的一个bug,某些app或者微信网页里复制验证码是苹果手机会触发UITextFieldTextDidChangeNotification监听事件, ...
- Android短信验证码自动填写功能的实现
本文出自:黄敏争的博客 前言: android应用经常会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,通常,用户收到短信需要最小化应用去查看短信再填入验证码,必然比较麻烦, ...
- 短信验证码自动填写功能的实现
http://blog.csdn.net/u014343528/article/details/50899380 本文出自:黄敏争的博客 前言: android应用经常会涉及到注册登录功能,而许多的注 ...
- android 短信验证码自动填写的两种方式
https://blog.csdn.net/u010399316/article/details/48781319 https://www.01hai.com/note/av123438 https: ...
最新文章
- 美国防部官员讨论量子科学、5G和定向能的发展
- org.hibernate.AnnotationException: No identifier specified for entity
- Kernel Method的理解
- SAP ABAP OData gateway缓存表的存储逻辑 - cache table logic
- hihoCoder 1116 计算 (线段树)
- 网管日志-06.07.24
- 自己开发的一款基于PagedDataSource的datalist repeater控件,只需要在源程序中添加三行代码,即可实现通用分页
- postgresql9.6 的安装
- 【Oracle】ORA-04031错误解决
- 查询oracle 表记录数,Oracle 查询所有表的记录数
- 第十三 关于JavaScript
- 文件和目录属性ls which alias
- Java反编译插件Jdclipse导致Eclipse 3.7.2启动崩溃的解决方法
- 当xshell关闭时如何保持一个jar包程序在后台运行
- 海思3559万能平台搭建:YUV422的踩坑记录
- web前端开发工程师的三种级别
- 天创速盈电商:拼多多用户群体分析
- 笔记本合上盖子怎么不休眠了?
- 基于FPGA的高速电路板设计
- 【正点原子MP157连载】第二十三章 Linux设备树-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
热门文章
- 生鲜电商O2O 可以怎么做?
- linux 独立冗余磁盘阵列,Linux基础教程:独立硬盘冗余阵列-RAID
- 电脑计算机u盘启动不了桌面,开机进不了桌面怎么办?教你5招这样解决
- Ubuntu下使用搜狗输入法候选字显示乱码问题的解决
- 苹果macOS10.15.7新版本下的SecureFX与SecureCRT破解后显示文件受损解决方法
- STM32入门笔记(02):F103C8T6 舵机PWM控制实验(SPL库函数版)
- ❤️学懂C语言文件操作读这篇就够了(万字总结,附习题)❤️
- LambdaMART介绍
- 获取dingding审批实例
- Java 中Map四种取值方式