联系: QQ 839539179 WEIXIN tuojie003
VerificationCodeView —正方形验证码输入框
示例:
![动图演示](https://i-blog.csdnimg.cn/blog_migrate/31e3d10a376fc30509e4651d184bb222.png)
apk演示:点击下载
特性
自定义属性
name | 说明 | format | 默认值 |
---|---|---|---|
icv_et_number | 输入框的数量 | integer | 1 |
icv_et_width | 输入框的宽度 | dimension | 42dp |
icv_et_divider_drawable | 输入框之间的间隔 | reference | |
icv_et_text_color | 输入框文字颜色 | color | Color.WHITE |
icv_et_text_size | 输入框文字大小 | dimension | 16sp |
icv_et_bg_focus | 输入框获取焦点时边框 | reference | |
icv_et_bg_normal | 输入框没有焦点时边框 | reference | |
icv_et_pwd | 是否是密码模式 | boolean | false |
icv_et_pwd_radius | 密码模式时圆的半径 | dimension | reference |
可使用方法
method_name | description | return_type |
---|---|---|
getInputContent | 获取输入内容 | String |
clearInputContent | 清空输入内容 | Void |
setEtNumber(int etNumber) | 设置输入框个数 | Void |
getEtNumber | 获取输入框个数 | int |
getEditText | 获取EditText提供给外界设置键盘弹出 | EditText |
setPwdMode | 动态设置是否是密码模式 | void |
setInputCompleteListener(InputCompleteListener listener) | 设置输入和删除时的监听 | Void |
原理说明
该项目是一个继承于RelativeLayout的组合控件型的自定义View,在布局中文件中使用了一个透明的EditText来接受用户的输入事件, 在布局文件的LinearLayout中动态添加正方形输入框,正方形输入框其实是一个个的TextView。
使用方法
1 Gradle 引用
implementation 'com.jacktuotuo.customview:verificationcodeview:1.0.5'
2 xml 中使用
- 简单配置
<com.tuo.customview.VerificationCodeView
android:id="@+id/icv_1"
app:icv_et_number="5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
- 个性化配置
<com.tuo.customview.VerificationCodeView android:id="@+id/icv" android:layout_width="match_parent" android:layout_height="50dp" android:layout_centerHorizontal="true" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="26dp" app:icv_et_bg_focus="@drawable/shape_icv_et_bg_focus" app:icv_et_bg_normal="@drawable/shape_icv_et_bg_normal" app:icv_et_divider_drawable="@drawable/shape_divider_identifying" app:icv_et_number="6" app:icv_et_pwd="true" app:icv_et_pwd_radius="10dp" app:icv_et_text_color="#000000" app:icv_et_width="50dp" />
3 java 代码中使用
VerificationCodeView codeView = new VerificationCodeView(context);
codeView.setEtNumber(number);
codeVidw.setPwdMode(true/false)