自定义View实现密码/验证码输入控件

一个简单的小控件,适用于输入验证码或者支付密码等短数字的场景。
网上有些开发者写的是用多个Edittext或者什么隐藏EditText实现的,我觉得不够优雅,于是撸了个这么个简单的view,继承自View,全部线条都是用canvas画出来。
先上个截图:

自定义View实现密码/验证码输入控件_第1张图片
截图

代码很简单主要分为以下三点

1.自定义控件测量好长高,计算好每栏的大小;
2.在onDraw中根据模式做相应的绘制,整个view稍微复杂点也就在这里,主要涉及到一些数学计算,也都是简单的。
3.给View设置onKeyLinstener监听键盘输入,只允许输入数字。

功能有:
1.支持自定义输入个数
2.支持明文或密文显示
3.支持当前输入框高亮显示
4.支持自定义所有颜色
5.支持三种模式,有边框、分开的边框、下划线等类型
6.支持输入内容满后自动回调或者手动回调
7.支持自定义控件大小或者每个框的大小,能满足大部分需求了

代码就不贴了,已上传github,有需要的可以点这里查看,若有帮助到你,帮忙点个⭐️⭐️⭐️,谢谢。

你可能感兴趣的:(自定义View实现密码/验证码输入控件)