专栏首页非著名程序员仿苹果数字键盘以及判断信用卡有效期的Editext

仿苹果数字键盘以及判断信用卡有效期的Editext

这次带来一个小小的信用卡有效期规则的Editext,额外赠送内置数字键盘的开发

首先来看下需求: 1) 月份数字: λ 数字输入0:后一位数字可输入1-9,输入1则展示01/(注意斜杠展示在界面),点击0界面没有反应 λ 数字输入1:后一位数字可输入0、1、2,输入0则展示10/(注意斜杠展示在界面),点击3-9界面没有反应 λ 数字输入2:则展示02/(注意斜杠展示在界面), λ 数字输入3-9,展示逻辑同2 2) 年份数字: λ 数字输入1、2、3,点击其他数字,界面无反应 λ 当输入数字1时: 继续输入数字6(当前年份为16年,2017年时即可输入7),则校验月份是否>=10,如果是,可以输入,如果不是,则不可输入 可继续输入数字7/8/9,0-5不可输入 λ 当输入数字2时:可继续输入数字0-9 λ 当输入数字3时:可继续输入数字0、1;也就是年份最大数字为31年(当前年份+15年,2017年时即可输入32)

不可以输入4-9和0,输入界面无反应

这是DEMO完成时候的预览

用到项目里面也是和ok的啊,

所以我们要写一个自定义的带清除的的Editext但是,还要加入额外的判断逻辑,加入清除按钮简单就一笔带过。

自定义的Editext在构造方法中,获取系统的drawable数组,并且难道我们要设置的图片

调动这个设置drawable区域的API,把自定义的drawable显示

Editext的回调,判断显示icon的时机

由于我们添加的删除图标是一个drawable,所以我们只能重写onTouch模拟点击事件,进行清空editext文本内容的操作

判断手指抬起的时候,在UP中,用手指抬起的坐标和view的宽度-图片的宽度的坐标做个对比,如果大于这个值,说明在图片的点击区域内,那么我们清空,文本内容,其实就是给文本设置 空字符串就行了!

下面我们关键来看下那个监听里面应该如何对于上面的条件进行判断

  • 自定义文本监听
  • 在文本监听的构造中获取,当前的时间限制
  • 解析当前的时间和限制时间,获取月份和年限的限制

在监听里面逐条进行判断

注释已经很详细了,下面源代码连接送上,而且有菜单,里面有一个仿iPhone的自定义数字键盘,可以屏蔽掉系统键盘的哦,赶紧下载试试吧

下载地址:https://github.com/GuoFeilong/CreditKeyboard

本文分享自微信公众号 - 非著名程序员(non-famous-coder)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-09-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 代码质量差,bug多?我们都是被逼的

    导语:有心写码,无力高效。bug其多,痛哉痛哉!有时候我们的写码的环境是和谭嗣同的心情一样一样的,为什么呢?因为谭嗣同的绝笔是这样写的:“有心杀贼,无力回天。死...

    非著名程序员
  • 常见面试题六之java系列

    做Android开发最重要的是要有一个很好的java基础。所以在我们的面试过程中也会被经常问到有关java的问题,其实在小编看来,如果java基础不好,那开发起...

    非著名程序员
  • 给初学者的Web安全指南

    互联网进入下半场,竞争越发的激烈,能与人工智能比肩的热门职业已然不多。而互联网越发达,各大企业所面临着各种网络安全问题会越发的严峻,Web安全工程师的人才缺口仍...

    非著名程序员
  • 【干货】二值神经网络:让 AlphaGo 能在手腕运行

    赢得围棋人机大战的AlphaGo为了运行神经网络,用了280块GPU,功率超过一百个李世石[1]。 这种使用浮点计算的神经网络要求的大存储空间和大计算量,严重阻...

    新智元
  • NIO之线程8锁

    接下来将介绍下NIO,如果你用过,那你将知道他的重要性,如果你没用过,那以后我保证你一定会用到。java1.4的api(不是1.4就是1.5)

    聚沙成塔
  • CVE-2019-16097:Harbor任意管理员注册漏洞复现

    Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源D...

    PaperPen
  • 浅谈iOS内存管理机制

    且行且珍惜_iOS
  • 【转】使用DirectUI技术实现QQ界面

    landv
  • SafeComp: 云计算完整性认证协议(CS CR)

    我们定义了一个由一些我们不一定信任的远程方执行的计算完整性认证问题。我们提出了一个称为 SafeComp 的多方交互协议,在指定的约束下解决了这个问题。与最接近...

    刘持诚
  • 3、zabbix_get和zabbix_get

    zabbix_get是zabbix中的一个程序,用于zabbix-server到zabbix-agent获取数据。通常用来检测agent的配置是否正确。

    py3study

扫码关注云+社区

领取腾讯云代金券