SplitEditText 是一个灵活的分割编辑框。常常应用于验证码输入 密码输入等场景
Posted Wei_Leng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SplitEditText 是一个灵活的分割编辑框。常常应用于验证码输入 密码输入等场景相关的知识,希望对你有一定的参考价值。
SplitEditText
项目地址:jenly1314/SplitEditText 简介: 🔢 SplitEditText 是一个灵活的分割编辑框。常常应用于验证码输入 、密码输入等场景。 更多:作者 提 Bug 标签:正在上传…重新上传取消 正在上传…重新上传取消 正在上传…重新上传取消 正在上传…重新上传取消 正在上传…重新上传取消 正在上传…重新上传取消 正在上传…重新上传取消 正在上传…重新上传取消
SplitEditText for android 是一个灵活的分割编辑框。常常应用于 验证码输入 、密码输入 、等场景。
之所以造这个轮子,是因为之前有这样的需求,然后也用过其它类似开源的库(VerificationCodeView),但是需求随着需求的变动,之前使用的库就不太满足现有的需求。所以最近抽空写了一个。
特性说明
- [x] 支持设置框数量
- [x] 支持设置框的风格样式
- [x] 支持根据状态区分框颜色
- [x] 基于 EditText 实现,更优雅
Gif 展示
SplitEditText 自定义属性说明
属性 | 值类型 | 默认值 | 说明 |
---|---|---|---|
setStrokeWidth | dimension | 1dp | 画笔描边的宽度 |
setBorderColor | color | #FF666666 | 边框颜色 |
setInputBorderColor | color | #FF1E90FF | 已输入文本的边框颜色 |
setFocusBorderColor | color | 焦点框的边框颜色 | |
setBoxBackgroundColor | color | 框的背景颜色 | |
setBorderCornerRadius | dimension | 0dp | 框的圆角大小(当 BorderSpacing 为 0dp时,只有最左和最右两端的框有圆角) |
setBorderSpacing | dimension | 8dp | 框与框之间的间距大小 |
setMaxLength | integer | 6 | 允许输入的最大长度(框个数量) |
setBorderStyle | enum | box | 边框风格 |
setTextStyle | enum | plain_text | 文本风格(可以是明文或者密文,默认:明文) |
setCipherMask | string | * | 密文掩码(当 TextStyle为密文时,可自定义密文掩码) |
setFakeBoldText | boolean | false | 是否是粗体 |
引入
Maven:
<dependency>
<groupId>com.king.view</groupId>
<artifactId>splitedittext</artifactId>
<version>1.0.0</version>
<type>pom</type>
</dependency>
Gradle:
//AndroidX
implementation 'com.king.view:splitedittext:1.0.0'
Lvy:
<dependency org='com.king.view' name='splitedittext' rev='1.0.0'>
<artifact name='$AID' ext='pom'></artifact>
</dependency>
如果 Gradle 出现 compile 失败的情况,可以在 Project 的 build.gradle 里面添加如下:(也可以使用上面的 GitPack 来 complie)
allprojects
repositories
maven url 'https://dl.bintray.com/jenly/maven'
示例
布局示例
<com.king.view.splitedittext.SplitEditText
android:id="@+id/splitEditText"
android:layout_width="match_parent"
android:layout_height="45dp"
android:inputType="number"/>
代码示例
Kotlin
//设置监听
splitEditText.setOnTextInputListener(object : SplitEditText.OnTextInputListener
override fun onTextInputChanged(text: String, length: Int)
//TODO 文本输入改变
override fun onTextInputCompleted(text: String)
//TODO 文本输入完成
)
Java
//设置监听
splitEditText.setOnTextInputListener(new SplitEditText.OnTextInputListener()
@Override
public void onTextInputChanged(String text, int length)
//TODO 文本输入改变
@Override
public void onTextInputCompleted(String text)
//TODO 文本输入完成
);
更多使用详情,请查看app中的源码使用示例
以上是关于SplitEditText 是一个灵活的分割编辑框。常常应用于验证码输入 密码输入等场景的主要内容,如果未能解决你的问题,请参考以下文章
EasyUI datagrid 明细表格中编辑框 事件绑定 及灵活计算 可根据此思路 扩展其他