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 - 验证码字体大小,单位sp
  • vcTextFont - 验证码字体样式文件路径(assets中的路径)
  • vcDividerWidth - 每个验证码之间的间隔距离,单位dp
  • vcWrapper - 包裹验证码的外观样式
  • vcWrapperStrokeWidth - 包裹验证码的外观的线条宽度,单位dp
  • vcWrapperColor - 包裹验证码的外观颜色
  • 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自定义控件之短信验证码自动填充相关推荐

  1. ios 短信验证码自动填充时总是被复制两遍

    ios 短信验证码自动填充时总是被复制两遍 解决: 限制input标签的maxlength:

  2. [ MessAuto ]: 短信验证码自动填充,理论支持所有浏览器或 APP, Only For Mac

    MessAuto 开源地址:https://github.com/LeeeSe/MessAuto MessAuto 是一款 macOS 平台 自动提取 短信验证码并 粘贴回车 的软件,百分百由Rust ...

  3. 解决ios短信验证码自动填充两次bug

    ios系统内部的bug 某些app或者微信网页里,复制手机收到的短信验证码,会触发UITextFieldTextDidChangeNotification监听事件,导致验证码出现了两次,这个应该是io ...

  4. ios短信验证码自动填充两次,且输入框的值为空。

    vue使用中发现了一个问题,由于ios手机获取短信验证码后,验证码会直接显示在键盘上,点击键盘上的验证码即可给对应的input赋值,但是在项目开发中发现,输入框的取值为空. 其次,获取到值后,打印验证 ...

  5. 短信验证码自动填充时总是被复制两遍

    1,ios,部分安卓系统短信自动填充会复制2次: 2,原因是系统bug,复制验证码会触发UITextFieldTextDidChangeNotification监听事件,导致验证码出现了两次. 3,解 ...

  6. ios 短信验证码自动填充时总是被复制两遍

    这应该是ios系统本身的一个bug. 这个算是苹果系统的一个bug,某些app或者微信网页里复制验证码是苹果手机会触发UITextFieldTextDidChangeNotification监听事件, ...

  7. Android短信验证码自动填写功能的实现

    本文出自:黄敏争的博客 前言: android应用经常会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,通常,用户收到短信需要最小化应用去查看短信再填入验证码,必然比较麻烦, ...

  8. 短信验证码自动填写功能的实现

    http://blog.csdn.net/u014343528/article/details/50899380 本文出自:黄敏争的博客 前言: android应用经常会涉及到注册登录功能,而许多的注 ...

  9. android 短信验证码自动填写的两种方式

    https://blog.csdn.net/u010399316/article/details/48781319 https://www.01hai.com/note/av123438 https: ...

最新文章

  1. 美国防部官员讨论量子科学、5G和定向能的发展
  2. org.hibernate.AnnotationException: No identifier specified for entity
  3. Kernel Method的理解
  4. SAP ABAP OData gateway缓存表的存储逻辑 - cache table logic
  5. hihoCoder 1116 计算 (线段树)
  6. 网管日志-06.07.24
  7. 自己开发的一款基于PagedDataSource的datalist repeater控件,只需要在源程序中添加三行代码,即可实现通用分页
  8. postgresql9.6 的安装
  9. 【Oracle】ORA-04031错误解决
  10. 查询oracle 表记录数,Oracle 查询所有表的记录数
  11. 第十三 关于JavaScript
  12. 文件和目录属性ls which alias
  13. Java反编译插件Jdclipse导致Eclipse 3.7.2启动崩溃的解决方法
  14. 当xshell关闭时如何保持一个jar包程序在后台运行
  15. 海思3559万能平台搭建:YUV422的踩坑记录
  16. web前端开发工程师的三种级别
  17. 天创速盈电商:拼多多用户群体分析
  18. 笔记本合上盖子怎么不休眠了?
  19. 基于FPGA的高速电路板设计
  20. 【正点原子MP157连载】第二十三章 Linux设备树-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

热门文章

  1. 生鲜电商O2O 可以怎么做?
  2. linux 独立冗余磁盘阵列,Linux基础教程:独立硬盘冗余阵列-RAID
  3. 电脑计算机u盘启动不了桌面,开机进不了桌面怎么办?教你5招这样解决
  4. Ubuntu下使用搜狗输入法候选字显示乱码问题的解决
  5. 苹果macOS10.15.7新版本下的SecureFX与SecureCRT破解后显示文件受损解决方法
  6. STM32入门笔记(02):F103C8T6 舵机PWM控制实验(SPL库函数版)
  7. ❤️学懂C语言文件操作读这篇就够了(万字总结,附习题)❤️
  8. LambdaMART介绍
  9. 获取dingding审批实例
  10. Java 中Map四种取值方式