SplitEditText
SplitEditText for Android 是一个灵活的分割编辑框。常常应用于 验证码输入 、密码输入 、等场景。
之所以造这个轮子,是因为之前有这样的需求,然后也用过其他开发者类似的库,但是需求随着需求的变动,之前使用的库就不太满足现有的需求。所以最近抽空鲁了一个轮子。
这里贴出之前使用过的轮子VerificationCodeView,他是通过继承 RelativeLayout 实现的,而 SplitEditText 通过继承 AppCompatEditText 实现,在使用和实现来说:更灵活,更优雅。
特性说明
[x] 支持设置框数量
[x] 支持设置框的风格样式
[x] 支持根据状态区分框颜色
[x] 基于EditText实现,更优雅
Gif 展示
SplitEditText 自定义属性说明
属性值类型默认值说明
setStrokeWidthdimension1dp画笔描边的宽度
setBorderColorcolor#FF666666边框颜色
setInputBorderColorcolor#FF1E90FF已输入文本的边框颜色
setFocusBorderColorcolor焦点框的边框颜色
setBoxBackgroundColorcolor框的背景颜色
setBorderCornerRadiusdimension0dp框的圆角大小(当 BorderSpacing 为 0dp 时,只有最左和最右两端的框有圆角)
setBorderSpacingdimension8dp框与框之间的间距大小
setMaxLengthinteger6允许输入的最大长度(框个数量)
setBorderStyleenumbox边框风格
setTextStyleenumplain_text文本风格(可以是明文或者密文,默认:明文)
setCipherMaskstring*密文掩码(当 TextStyle 为密文时,可自定义密文掩码)
setFakeBoldTextbooleanfalse是否是粗体
引入
Maven:
com.king.view
splitedittext
1.0.0
pom
Gradle:
//AndroidX
implementation 'com.king.view:splitedittext:1.0.0'
Lvy:
如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)
allprojects {
repositories {
maven { url 'https://dl.bintray.com/jenly/maven' }
}
}
示例
布局示例
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中的源码使用示例
相关推荐
KingKeyboard 自定义键盘,满足各种不同场景的键盘输入需求
版本记录
v1.0.0:2021-1-5
SplitEditText初始版本
关于我
Name: Jenly
CNBlogs: jenly