Android自定义密码输入框——(仿支付宝等)

阅读: 评论:0

Android自定义密码输入框——(仿支付宝等)

Android自定义密码输入框——(仿支付宝等)


Android自定义密码输入框,通过自定义输入显示框和自定义输入键盘,实现支付宝等

密码输入的效果,使用者可自定义密码是否可见。代码已托管到github,有需要的话可以

去我的github下载。

话不多说,先看效果:

图左为隐藏密码的显示效果,图右为不隐藏密码的显示效果,该可见性可由自定义密码输入框控件的isHide属性来确定

  isHide="true" 表示隐藏输入的密码,isHide="false" 表示输入的密码可见。

下面就来介绍一下整个效果实现的过程:

一. 拆分控件

整个视图可分为三个子控件:

 1.标题栏

      包含一个返回按钮,和一个标题文本,就是一个简单的Button和TextView。我们可以自定义其标题和功能。不用过多介绍。

 2.自定义密码显示框

该显示框用于显示用户输入的密码,并根据用户的设置,以明文或暗文的方式演示输入的密码。为了较好的显示其输入

这里继承该控件了EditText,并为其添加了一些属性。在自定义密码显示框初始化时获取相关属性,并在onDraw方法中绘制整个

密码输入框。其中包括绘制背景、绘制分割线、绘制密码。同时,在设置密码位数的属性后,也为其添加了密码位数输入已满的

监听事件,给使用者及时提供输入反馈。

3.自定义输入键盘

支付宝密码输入时,不是调用系统的软键盘进行输入,而是通过自定义的密码键盘进行密码输入。因此在实现此效果时

就必须自定义一个密码键盘。自定义输入键盘主要包含10个数字按键和一个确定按键和删除按键。同时,也为其子控件添加了事

件监听,从而获取使用者的输入。

二.实现过程

主要介绍一下密码显示框的输入键盘的实现。

1.自定义密码显示框View

先说说自定义View的几种方式:(1)继承View重写onDraw方法,主要实现一些不规则的效果;(2)继承ViewGroup

派生新的Layout,主要实现自定义的布局;(3)继承特定的View(如EditView),一般用于扩展某种已有的View的功能;(4)

继承特定的ViewGroup,一般用于几种View组合在 一起而实现的效果。

在此控件中采用的是自定义一个类并继承自EditText,并在values文件夹下新建一个l来声明自定义View的一些属性。

    1. <resources>
    2. <declare-styleable name="CustomPwdWidgt">
    3. <!-- 密码的个数 -->
    4. <attr name="passwordNumber" format="integer"/>
    5. <!-- 密码圆点的半径 -->
    6. <attr name="passwordRadius" format="dimension" />
    7. <!-- 分割线的大小 -->
    8. <attr name="divisionLineSize" format="dimension" />
    9. <!-- 是否隐藏输入的数字-->
    10. <attr name="isHide" format="boolean"/>
    11. .
    12. .
    13. .
    14. </declare-styleable>

    15. </resources>

本文发布于:2024-02-01 11:45:39,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170675914336367.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23