自定义控件

『Android』一个简单易用的验证码输入框(6位)

2019-03-22  本文已影响0人  暄落丶

spaceX.jpg

  之前开发中验证码输入的时候,找了各种各样的验证码输入框,各种奇葩= =,最近抽空写了一个,正好熟悉一下自定义控件。

github 地址:https://github.com/ymwm-lxl/VerificationCodeEditText

一、实现思路:

之前在看其他人的之前方式,大概有以下几类:

  我使用的就是最后一种:后边使用一个 EditText 接收输入内容,在页面上放置多个 TextView 展示输入框中输入的内容。

二、实现代码

null

三、使用方法

1、导入依赖:

在根目录 build.build中加入:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

添加依赖:

dependencies {
        implementation 'com.github.ymwm-lxl:VerificationCodeEditText:1.0'
}

因为其中显示的光标我使用的是动图,所以还需要引入 glide 的依赖:

    //glide
    implementation 'com.github.bumptech.glide:glide:4.8.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'

2、使用控件:

xml文件中:

    <com.xuanluo.verificationcodeedit.VerificationCodeEditText
        android:layout_width="300dp"
        android:layout_height="90dp"
        app:codeTextColor="#000000"
        app:codeTextSize="16sp"
        app:codeTextBackgroud="@drawable/bg_line_label"
        app:codeCursorImg="@drawable/guangbiao"
        app:codeCursorHeight="50dp">
     </com.xuanluo.verificationcodeedit.VerificationCodeEditText>
2.1、属性说明:
属性 说明 备注
android:layout_width 控件宽度 dp
android:layout_height 控件高度 dp
app:codeTextColor 验证码输入框中的文字颜色 color
app:codeTextSize 验证码输入框中的文字大小 sp
app:codeTextBackgroud 验证码输入框的单个框的背景样式 drawable文件
app:codeCursorImg 光标图片 gif图
app:codeCursorHeight 光标高度 dp
2.2、控件说明:
2.2.1、请根据上方备注中的格式来走,不要创新使用= =。
2.2.2、属性的默认值很夸张,是希望使用的时候能够尽量使用自己的样式。
2.2.3、输入框背景样式:

a> 下边线样式:


线框背景.png

xml文件内容:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:bottom="1.5dp"
        android:left="-10dp"
        android:right="-10dp"
        android:top="-10dp">
        <shape>
            <stroke
                android:width="1dp"
                android:color="#000000" />
          </shape>
    </item>
</layer-list>

b> 四周都有框样式:


四周都有框.png

xml文件内容:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <stroke
                android:width="1dp"
                android:color="#000" />
            <corners android:radius="2dp"/>
        </shape>
    </item>
</selector>
2.2.4、光标样式:

建议使用 gif 图片,在控件中可以设置光标的高度,光标在输入框中上下居中。效果图片:


光标.gif

四、未来会加入的功能


有需要的功能或者使用中遇到问题,可以留言或者发邮件给我:
邮箱:ymwmlxl@gmail.com


上一篇下一篇

猜你喜欢

热点阅读