CaptchaView

CaptchaView是一个验证码、邀请码的自定义布局,是在 InputCodeLayout 的基础上修改了原生系统键盘删除键不起作用的问题、添加了自定义脱敏样式和自定义digits过滤及回调。

效果预览

image.png

如何使用

只需要在 build.gradle 的 dependencies 添加:

compile 'com.opensource:captchaview:1.0.3'

布局中配置

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:label="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:fitsSystemWindows="true"

android:orientation="vertical">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:gravity="center"

label:captchaHeight="56dp"

label:captchaWidth="56dp"

label:inputMode="number"

label:number="4"/>

属性

描述

label:number

验证码可输入的个数

android:textColor

字体颜色

android:textSize

字体大小

android:gravity

CaptchaView 位置

label:captchaWidth

输入框的宽度

label:captchaHeight

输入框的高度

label:dividerWidth

输入框的间距

label:hasFocusBackground

是否显示获取焦点时背景,默认显示 unFocusBackground 背景

label:focusBackground

获取焦点时背景

label:unFocusBackground

失去焦点时背景

label:passwordTransformation

不可见时样式,如 ● 、*,不指定为可见显示

label:inputMode

输入模式,number 只可输入数字,text 任何,numberText 只可输入数字和字母

代码中设置

CaptchaView captchaView = (CaptchaView) findViewById(R.id.captchaView);

//设置间距

captchaView.setDivideWidth(20);

//设置输入框个数

captchaView.setNumber(5);

//设置显示位置

captchaView.setGravity(Gravity.CENTER);

//输入类型过滤,如果需指定 digits,这里的InputType必须为CaptchaView.INPUT_TYPE_NUMBER_TEXT才起作用

captchaView.setInputType(CaptchaView.INPUT_TYPE_NUMBER_TEXT, "1234efcsf*");

添加回调

captchaView.setOnInputCompleteListener(new CaptchaView.OnInputCompleteCallback() {

@Override

public void onInputCompleteListener(String captcha) {

// 输入完成回调

}

@Override

public void onError(String error) {

// InputType必须为CaptchaView.INPUT_TYPE_NUMBER_TEXT,才回调

// error 为不在 digits 中的字符

}

});

感谢

License

Copyright 2017 utouch

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

android 验证码布局,一个验证码、邀请码的自定义布局相关推荐

  1. java生成一条唯一的邀请码_根据用户id生成一个唯一邀请码

    需求描述:根据用户id生成与之对应的唯一邀请码,范围为'0-9A-Z'. 这个需求的重点在于加粗的部分,也就是要能够根据邀请码反推出用户ID,这样邀请码就不用入库了,在用户量很大的情况下,性能可以得到 ...

  2. php用户注册自动生成邀请码,PHP如何实现根据用户id生成一个唯一邀请码

    根据用户id生成与之对应的唯一邀请码,范围为'0-9A-Z'.这个需求的重点在于加粗的部分,也就是要能够根据邀请码反推出用户ID,这样邀请码就不用入库了,在用户量很大的情况下,性能可以得到不小的提升. ...

  3. 如何实现用户id生成一个唯一邀请码

    一个10进制的数字短还是一个16进制的数字短? 肯定是16进制相对短一些,所以我们可以直接把用户id转成10+26=36进制的不就可以了吗?具体代码如下: function createCode($u ...

  4. java生成一条唯一的邀请码_如何实现用户id生成一个唯一邀请码

    根据用户id生成与之对应的唯一邀请码,范围为'0-9A-Z'.这个需求的重点在于加粗的部分,也就是要能够根据邀请码反推出用户ID,这样邀请码就不用入库了,在用户量很大的情况下,性能可以得到不小的提升. ...

  5. mysql 生成邀请码_如何实现用户id生成一个唯一邀请码

    根据用户id生成与之对应的唯一邀请码,范围为'0-9A-Z'.这个需求的重点在于加粗的部分,也就是要能够根据邀请码反推出用户ID,这样邀请码就不用入库了,在用户量很大的情况下,性能可以得到不小的提升. ...

  6. cdf会员购那么多,哪个才是真的?附所有邀请码及剁手攻略

    都是真的,都隶属于中免集团,但区别也不小,现在来一篇搞懂,cdf会员购各平台之间的关系,希望对你有帮助. 中免集团推出的 cdf会员购 系列小程序/商城,风头正劲,cdf会员购小程序.cdf会员购北京 ...

  7. Android应用性能优化最佳实践.2.3 布局优化

    2.3 布局优化 布局是否合理主要影响的是页面测量时间的多少,我们知道一个页面的显示测量和绘制过程都是通过递归来完成的,多叉树遍历的时间与树的高度h相关,其时间复杂度为O(h),如果层级太深,每增加一 ...

  8. android端快速生成二维码和进行二维码扫描

    最近由于公司需求,需要生成自己的二维码,并且进行二维码扫描,对内容进行快速识别.找了很多关于二维码生成的例子看了一下,讲的都很详细.但是二维码的生成和识别都是底层代码实现,对于我们移动开发者来说为什么 ...

  9. Android录音并进行本地转码为MP3

    ** Android录音并进行本地转码 ** 通过安卓手机进行录音, 录音后,使用lame进行转码操作 开发中需要使用这个功能,只是一个简单的进行转码的工具,具体的代码信息如下 项目的基本结构图 1. ...

  10. iOS 平台 TestFlight 外部测试邀请码优化方案

    1 背景 iOS 应用版本灰度测试是一个越来越令人头疼的一件事. 在 iOS9.0 之后,iOS 越狱设备越来越少,想要找到参与灰度测试的越狱用户越来越难.现在苹果企业签名的包外发控制越来越严格,这条 ...

最新文章

  1. 华为手机下拉菜单没了_用了三年才知道华为录屏这么强大!再不会用,手机钱打水漂了...
  2. MySQL 十大常用字符串函数
  3. 小米MIX 4真机亮屏照曝光?真全面屏 边框窄到窒息
  4. CSDN创始人蒋涛出席2021 中关村论坛,启动“科创中国”开源创新榜单评选
  5. xaxis python_在python中绘制xaxis中的多列值
  6. 使用NAudio音频文件剪切指定片段
  7. JAVA在线考试管理系统(源代码+论文+开题报告+外文翻译+英文文献+答辩PPT)
  8. 黑苹果OC配置工具:OpenCore Configurator for Mac(2.48.0.0中文)
  9. 台州爱乐搜5.18与您相约香溢大酒店
  10. 机器学习之期望最大化算法(Expectation Maximization, EM)
  11. bga焊盘怎么做_BGA焊盘的设计
  12. 静默升级linux,Firefox 10 正式发布 支持静默升级功能
  13. Linux基础管理命令
  14. 临床医学中计算机的应用,临床医学中计算机图像处理技术的应用
  15. 【毕业设计】Stm32家庭有害气体检测系统 - 物联网 嵌入式 单片机
  16. Vue 随笔1-加入vue router 后发现app被渲染了2次
  17. Photoshop-avi-gif-合集
  18. signature=8805f79ce2e396938320fac1d8df3948,北京菊酯Ⅱ的亚慢性毒性研究
  19. 常见电路结构分析七:三相电的使用与接法
  20. 标志着中国进入世界研制巨型计算机,历史上的今天丨完成中国首台亿次计算机,他们只用5年!...

热门文章

  1. 计算机科学技术专业毕业生自荐...,【2018最新】计算机科学技术专业毕业生自荐信-易修改word版 (3页)...
  2. php 修改某个字段的值,如何修改数据库表中的某一个字段的值呢?
  3. 安捷伦Agilent B1500A半导体测试仪
  4. bool型变量各种初始化情况的值
  5. Qt自定义控件-自定义电池
  6. 万字详解Java的Lambda表达式
  7. STM32高级定时器互补输出,HAL库版
  8. easypoi excel导入导出(多sheet)
  9. excel判断两列是否一样
  10. 计算机程序施工坐标放线,如何快速测量放线——施工坐标帮助你!