当前位置: 首页 > news >正文

可能是支持属性最多的类似验证码的输入控件了。一个超好用的验证码,卡号,车牌号,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 首次上传

http://www.mrgr.cn/news/17141.html

相关文章:

  • 基于C语言开发一个职工管理系统
  • C++学习笔记----6、内存管理(一)---- 使用动态内存(1)
  • 中英翻译,就看这五款工具!
  • 使用 nuxi clean 命令清理 Nuxt 项目
  • PCB设计中” 铺铜的方式“导致电焊机设计失败
  • 基于yolov8的102种昆虫检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • 探索TinyDB:轻量级数据库的优雅之旅
  • 滚动视图ScrollView
  • AI Acronyms
  • 异步编程详解
  • 数组结构第一周做题总结_基础练习
  • JS学习笔记
  • 【AIGC】MimicMotion:姿态引导的高质量人体运动视频生成技术
  • 【LLM】文生视频相关开源数据集(VidGen、Panda、Cogvideox等)
  • FCIS+mxnet的大坑(终于ok了)
  • ★ 算法OJ题 ★ 力扣 LCR179 - 和为 s 的两个数字
  • 算法——K-means算法和算法改进
  • 【SpringBoot】实体多层嵌套如何判空字段?
  • Mybatis 是如何进行分页的?分页插件的原理是什么?
  • 【零知识证明】通读Tornado Cash白皮书(并演示)