# VerifyEditText **Repository Path**: reyuxi/verifyedittext ## Basic Information - **Project Name**: VerifyEditText - **Description**: 带下划线样式的验证码输入框,支持4或6位验证码 - **Primary Language**: Android - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2022-03-11 - **Last Updated**: 2025-03-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Android ## README # VerifyEditText [![Version Code](https://jitpack.io/v/com.gitee.reyuxi/verifyedittext.svg)](https://jitpack.io/#com.gitee.reyuxi/verifyedittext) 一个带下划线样式的的验证码输入框 ## 使用 ### 添加依赖 1. 在工程根目录下的 `build.gradle` 中添加: ```Groovy allprojects { repositories { ... maven { url 'https://jitpack.io' } } } ``` 如果是`gradle`版本是 7.0+ , 则是在 `setting.gradle` 中添加 : ```Groovy dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { ... maven { url 'https://jitpack.io' } } } ``` 2. 在模块下的`build.gradle`中添加依赖(注意替换具体版本号,当前最新版本号[![Version Code](https://jitpack.io/v/com.gitee.reyuxi/verifyedittext.svg)](https://jitpack.io/#com.gitee.reyuxi/verifyedittext)): ```Groovy dependencies { implementation 'com.gitee.reyuxi:verifyedittext:replace.version.code' } ``` 3. 重新 Gradle sync 一下. ### 使用 在XML布局中直接使用: ```XML ``` 在Java代码中使用,以下是函数列表: ```Java // 设置验证码长度(目前支持 4 或 6 位) setMaxLength(@IntRange(from = 4, to = 6) int length) // 文本大小 setTextSize(int size) // 设置输入框内容(超长部分会被截掉) setCode(int code) // setText setCode(String code) // 设置当前正在输入的最后一个字符的字体颜色 setTextActiveColor(@ColorInt int color) // 设置除最后一个以外的其他字符的字体颜色 setTextInactiveColor(@ColorInt int color) // 设置当前正在输入的最后一个字符的下划线颜色 setLineActiveColor(@ColorInt int color) // 设置下划线顶部间距 setLineMarginTop(int topMargin) // 设置下划线高度 setLineHeight(int lineHeight) // 设置下划线宽度 setLineWidth(int lineWidth) // 设置除当前正在输入的最后一个字符以外的字符的下划线颜色 setLineInactiveColor(@ColorInt int color) // 设置字体类型(常规、斜体、粗体) setTextStyle(@TypeFaceInt int textStyle) // 设置输入完成监听 setOnCompleteListener(@Nullable OnCompleteListener listener) // 如果设置为 true,那么输入多少个字符,就显示多少根下划线,即 // 下划线随字符显示 // 如果设置为 false,则显示全部下划线 setOnlyShownLine(boolean isOnlyDrawShownLine) // 获取当前设定的最大可输入字符长度 int getMaxLength() // 获取已输入的验证码 int getCode() // 获取已输入的文本 String getCodeString() ``` ### 属性列表 | 名称 | 描述 | 默认值 | | :---------------------- | :---------------------------------------------------------------------------------------------------------------------- | :----------: | | cvedt_text | 设置输入框内容 | 24sp | | cvedt_textSize | 设置文本大小 | 14sp | | cvedt_textInactiveColor | 设置非活动状态文本的字体颜色 | #999999 | | cvedt_textActiveColor | 设置活动状态文本的字体颜色 | #333333 | | cvedt_textStyle | 设置文本样式(常规、粗体、斜体) | normal | | cvedt_maxLength | 设置最大可输入的字符个数,支持 4 或 6 | 4 | | cvedt_lineHeight | 设置下划线高度 | 1dp | | cvedt_lineMarginTop | 设置下划线顶部间距 | 16dp | | cvedt_lineWidth | 设置下划线宽度 | 字体宽度 +8 | | cvedt_lineInactiveColor | 设置非活动状态文本对应的下划线颜色 | 与字体颜色一致 | | cvedt_lineActiveColor | 设置活动状态文本对应的下划线颜色 | 与字体颜色一致 | | cvedt_onlyShownLine | 设置下划线跟随文本内容显示或直接完全显示 | false | ### 回调函数 如果需要输入完成之后立刻执行自己的业务逻辑,可以使用 `VerifyEditText#setOnCompleteListener(@Nullable OnCompleteListener listener)` 函数来设置一个输入完成回调: ```Java verifyEditText.setOnCompleteListener(new OnCompeleteListener(){ @Override public void onComplete(String code){ // TODO do your work here. } }); ```