SplitEditText

May 14, 2025 · View on GitHub

MavenCentral JitPack CI Download API License

SplitEditText for Android 是一个灵活的分割编辑框。常常应用于验证码输入、密码输入、等场景。

特性说明

  • ✅ 支持设置框数量
  • ✅ 支持设置框的风格样式
  • ✅ 支持根据状态区分框颜色
  • ✅ 基于EditText实现,更优雅

效果展示

Image

你也可以直接下载 演示App 体验效果

引入

Gradle:

  1. 在Project的 build.gradlesetting.gradle 中添加远程仓库

    repositories {
        //...
        mavenCentral()
    }
    
  2. 在Module的 build.gradle 中添加依赖项

    // AndroidX 版本
    implementation 'com.github.jenly1314:splitedittext:1.1.0'
    

使用

SplitEditText 自定义属性说明

属性值类型默认值说明
setStrokeWidthdimension1dp画笔描边的宽度
setBorderColorcolor#FF666666边框颜色
setInputBorderColorcolor#FF1E90FF已输入文本的边框颜色
setFocusBorderColorcolor焦点框的边框颜色
setBoxBackgroundColorcolor框的背景颜色
setBorderCornerRadiusdimension0dp框的圆角大小(当 BorderSpacing0dp 时,只有最左和最右两端的框有圆角)
setBorderSpacingdimension8dp框与框之间的间距大小
setMaxLengthinteger6允许输入的最大长度(框个数量)
setBorderStyleenumbox边框风格
setTextStyleenumplain_text文本风格(可以是明文或者密文,默认:明文)
setCipherMaskstring*密文掩码(当 TextStyle 为密文时,可自定义密文掩码)
setFakeBoldTextbooleanfalse是否是粗体

示例

布局示例

    <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中的源码使用示例或直接查看 API帮助文档

相关推荐

  • CodeTextField 一个使用 Compose 实现的验证码输入框。
  • KingKeyboard 自定义键盘,满足各种不同场景的键盘输入需求。
  • compose-component 一个Jetpack Compose的组件库;主要提供了一些小组件,便于快速使用。

版本日志

v1.1.0:2023-1-9 (开始发布至MavenCentral)

  • 迁移发布至MavenCentral

v1.0.0:2021-1-5

  • SplitEditText初始版本

footer