程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

android安卓仿ios数字解锁密码界面-自定义view系列

发布于2021-05-29 22:51     阅读(433)     评论(0)     点赞(17)     收藏(1)



功能简介

仿ios解锁密码界面,按钮文字等全部用canvas自绘制出来,避免了创建多个button和textview组合起来实现密码解锁界面,一个view搞定所有,代码简洁清晰更易于维护。同时按压还带震动效果


在这里插入图片描述


主要实现步骤-具体内容看github项目里的代码

1.定义按钮的bean类ButtonData这里储存了按钮的相关信息,颜色,大小,rect位置,是否为当前选中,数字number,等。
2.定义好我们需要哪些按钮,将其储存在一个二维数组里mNumberArray片,这样我们方遍历数组中的所有value然后计算大小位置mButtonMap
3.大小位置的计算,先将所有的button视为一个整体按钮layout,计算出整体按钮layout处于canvas的位置,再挨个计算每个button的位置。计算完后将其数字作为key,创建ButtonData对象作为value将其储存在mButtonMap。.储存在mButtonMap里我们就可以对数据进行操作了,比如返回哪个按钮被当前选中。
5. 确定哪个按钮被当前选中,在onTouchEvent我们可以获取到手指按压时的位置,接着从mButtonMap数据中遍历所有ButtonData对象里的位置getRect。rect有个方法是可以检测是否包含某个x,y的位置。包含了就表示,当前button被选中。
6.确定了哪个按钮button被选中后,接下来就通过其ButtonData对象进行一些列操作就行了,如果是数字,则将其代表的数字number添加至mPassword_input进行展示,如果是删除 或 返回,则执行其他操作
7.通过接口 OnPasswordListener 我们可以获取返回事件,和密码输入后的结果


xml相关属性设置

属性名介绍
mPassword_correct设置正确的密码
setOnPasswordListener设置监听事件,返回 和 密码正确结果

java代码


Android技术生活交流

微信 ----- qq群


原文链接:https://blog.csdn.net/ruiruiddd/article/details/117356567



所属网站分类: 技术文章 > 博客

作者:我是个大美女

链接:http://www.javaheidong.com/blog/article/207917/506b76b8fda793fffbce/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

17 0
收藏该文
已收藏

评论内容:(最多支持255个字符)