Android自定义控件实现短信验证码自动填充
VerifyCodeView
VerifyCodeView是一个用于输入验证码的Android自定义控件,它支持数字类型的验证码,支持自定义外观,并且支持短信验证码自动填充。
项目地址:VerifyCodeView
在项目中引入VerifyCodeView
Gradle
dependencies{ compile'com.github.gongw:verifycodeview:1.0.2' }
Maven
com.github.gongw verifycodeview 1.0.2 pom
支持的自定义属性
- vcTextCount-验证码长度
- vcTextColor-验证码字体颜色
- vcTextSize-验证码字体大小,单位sp
- vcTextFont-验证码字体样式文件路径(assets中的路径)
- vcDividerWidth-每个验证码之间的间隔距离,单位dp
- vcWrapper-包裹验证码的外观样式
- vcWrapperStrokeWidth-包裹验证码的外观的线条宽度,单位dp
- vcWrapperColor-包裹验证码的外观颜色
- vcNextWrapperColor-包裹将要被填充的验证码的外观颜色
使用示例
xml
java
verifycodeView.setOnAllFilledListener(newVerifyCodeView.OnAllFilledListener(){ @Override publicvoidonAllFilled(Stringtext){ Toast.makeText(MainActivity.this,"filledby"+text,Toast.LENGTH_SHORT).show(); } });
自定义外观
verifycodeView.setVcWrapper(newVerifyCodeWrapper(){ @Override publicbooleanisCovered(){ //whetherthewrapperandverifycodedisplaytogether returnfalse; } @Override publicvoiddrawWrapper(Canvascanvas,Paintpaint,RectFrectF,RectFtextRectF){ //drawyourownwrapper canvas.drawLine(textRectF.left-textRectF.width()/2,rectF.height()/2,textRectF.right+textRectF.width()/2,rectF.height()/2,paint); } });
短信验证码自动填充
SmsVerifyCodeFilterfilter=newSmsVerifyCodeFilter(); filter.setSmsSenderStart("1096"); filter.setSmsSenderContains("5225"); filter.setSmsBodyStart("验证短信:"); filter.setSmsBodyContains("验证码"); filter.setVerifyCodeCount(verifyCodeView.getVcTextCount()); verifyCodeView.startListen(filter);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。