可能是支持属性最多的类似验证码的输入控件了。一个超好用的验证码,卡号,车牌号,IP地址-输入控件 - 掘金

可能是支持属性最多的类似验证码的输入控件了。

引入依赖

implementation 'com.simple:VerCodeLayout:1.0.0'

基本使用

使用VerCodeEditText控件

<span data-line-num="1">&lt;com.simple.vclayout.VerCodeEditText</span>
<span data-line-num="2">    android:id="@+id/vcEt1"</span>
<span data-line-num="3">    android:layout_width="wrap_content"</span>
<span data-line-num="4">    android:layout_height="wrap_content"</span>
<span data-line-num="5">    app:vcCount="6"</span>
<span data-line-num="6">    app:vcFocusedBackground="@drawable/sp_focused_one"</span>
<span data-line-num="7">    app:vcMargin="5dp"</span>
<span data-line-num="8">    app:vcNormalBackground="@drawable/sp_normal_one"</span>
<span data-line-num="9">    app:vcTextSize="20sp" /&gt;</span>

可用的属性

属性名作用
vcCountEditText的个数
vcMaxLengthEditText最大输入长度
vcNormalBackground未选中的背景
vcFocusedBackground选中的背景
vcWidthEditText的宽
vcHeightEditText的高
vcMinWidthEditText的最小宽度
vcMinHeightEditText的最小高度
vcMarginEditText的外边距,当然还有MarginLeft等小属性
vcPaddingEditText的内边距,当然还有PaddingLeft等小属性
vcTextSizeEditText的文本大小
vcTextColorEditText的文本颜色
vcTextCursorDrawableEditText的游标Drawable
vcGravityEditText的Gravity
vcInputTypeEditText的输入类型

高级使用

使用VerCodeLayout控件,VerCodeEditText继承于VerCodeLayout。VerCodeLayout自带了当一个EditText输入完成选中下一个或删除完成选中上一个的功能,但是EditText必须设置maxLength

<span data-line-num="1">&lt;!--车牌--&gt;</span>
<span data-line-num="2">&lt;com.simple.vclayout.VerCodeLayout</span>
<span data-line-num="3">    android:layout_width="wrap_content"</span>
<span data-line-num="4">    android:layout_height="wrap_content"&gt;</span>
<span data-line-num="5"></span>
<span data-line-num="6">    &lt;EditText</span>
<span data-line-num="7">        android:layout_width="wrap_content"</span>
<span data-line-num="8">        android:layout_height="wrap_content"</span>
<span data-line-num="9">        android:layout_margin="5dp"</span>
<span data-line-num="10">        android:background="@drawable/sr_et_bg_accent"</span>
<span data-line-num="11">        android:gravity="center"</span>
<span data-line-num="12">        android:inputType="text"</span>
<span data-line-num="13">        android:maxLength="1" /&gt;</span>
<span data-line-num="14"></span>
<span data-line-num="15">    &lt;EditText</span>
<span data-line-num="16">        android:layout_width="wrap_content"</span>
<span data-line-num="17">        android:layout_height="wrap_content"</span>
<span data-line-num="18">        android:layout_margin="5dp"</span>
<span data-line-num="19">        android:background="@drawable/sr_et_bg_accent"</span>
<span data-line-num="20">        android:gravity="center"</span>
<span data-line-num="21">        android:inputType="text"</span>
<span data-line-num="22">        android:maxLength="1" /&gt;</span>
<span data-line-num="23"></span>
<span data-line-num="24">    &lt;EditText</span>
<span data-line-num="25">        android:layout_width="wrap_content"</span>
<span data-line-num="26">        android:layout_height="wrap_content"</span>
<span data-line-num="27">        android:layout_margin="5dp"</span>
<span data-line-num="28">        android:background="@drawable/sr_et_bg_accent"</span>
<span data-line-num="29">        android:gravity="center"</span>
<span data-line-num="30">        android:inputType="number"</span>
<span data-line-num="31">        android:maxLength="1" /&gt;</span>
<span data-line-num="32"></span>
<span data-line-num="33">    &lt;EditText</span>
<span data-line-num="34">        android:layout_width="wrap_content"</span>
<span data-line-num="35">        android:layout_height="wrap_content"</span>
<span data-line-num="36">        android:layout_margin="5dp"</span>
<span data-line-num="37">        android:background="@drawable/sr_et_bg_accent"</span>
<span data-line-num="38">        android:gravity="center"</span>
<span data-line-num="39">        android:inputType="number"</span>
<span data-line-num="40">        android:maxLength="1" /&gt;</span>
<span data-line-num="41"></span>
<span data-line-num="42">    &lt;EditText</span>
<span data-line-num="43">        android:layout_width="wrap_content"</span>
<span data-line-num="44">        android:layout_height="wrap_content"</span>
<span data-line-num="45">        android:layout_margin="5dp"</span>
<span data-line-num="46">        android:background="@drawable/sr_et_bg_accent"</span>
<span data-line-num="47">        android:gravity="center"</span>
<span data-line-num="48">        android:inputType="number"</span>
<span data-line-num="49">        android:maxLength="1" /&gt;</span>
<span data-line-num="50">&lt;/com.simple.vclayout.VerCodeLayout&gt;</span>

可用的方法

方法名方法作用
setOnCompleteListener监听输入完成
clear清除所有的输入
getEditTexts获取所有的EditText

版本更新

  • 1.0.0 首次上传
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值