Android仿微信支付宝支付密码输入框的实现

1 下载量 126 浏览量 更新于2024-09-04 收藏 225KB PDF 举报
Android仿微信支付宝的支付密码输入框示例 在Android开发中,实现仿微信或支付宝的支付密码输入框是一个常见的需求。今天,我们将讨论如何实现这个功能。这个输入框需要实现以下几个功能:获取用户的输入、draw出密码输入框、弹出软键盘等。 首先,我们需要继承View,获取用户的输入,然后draw出来。这个实现方式不同于其他两种常见的实现方式:直接继承EditText,然后在ondraw里面做文章;或EditText外面包一个viewGroup。这两种方式都有其缺陷,例如臃肿、不灵活等。 在实现这个view时,我们需要override几个重要的方法,例如onMeasure、onDraw等。onMeasure方法用于测量view的宽度和高度, MeasureWidth和MeasureHeight所做的工作是如果是wrap_content则返回-1,不然返回准确大小。在onDraw方法中,我们需要画出外面的圆角矩形和里面的分割线。 在画完这些后,我们需要填充点数据测试,理所应当的,我们会有下面的效果图。然后,我们需要监听用户的输入,这可是重点,难点。我们需要在初始化的时候设置这个view可以获取焦点,然后在onTouchEvent方法中弹出软键盘。 在onTouchEvent方法中,我们需要获取输入法管理类,点击后获取焦点,然后弹出软键盘,那么失去焦点,肯定要隐藏软键盘啊!因此,我们需要在onCheckIsTextEditor方法中检查当前view是否获取焦点,如果获取焦点,则弹出软键盘,否则隐藏软键盘。 实现仿微信或支付宝的支付密码输入框需要继承View,override几个重要的方法,例如onMeasure、onDraw等,并且需要监听用户的输入,弹出软键盘等。这个实现方式灵活、简洁、易于扩展,是一个不错的选择。 知识点: * 继承View,获取用户的输入,然后draw出来 * override onMeasure方法,测量view的宽度和高度 * override onDraw方法,画出外面的圆角矩形和里面的分割线 * 监听用户的输入,弹出软键盘 * 使用输入法管理类,管理软键盘的显示和隐藏 * 在onCheckIsTextEditor方法中检查当前view是否获取焦点 标签:Android、仿微信、支付宝、密码输入框、软键盘、输入法管理类。