Android开发之图案解锁(2)

一)前文Android开发之图案解锁(1)以创建了我们图案解锁的基本组件和大致的构思和背景具体请访问(https://www.jianshu.com/writer#/notebooks/38985049/notes/53183442)

二)添加事件,便于监控我们的子组件。在这我们使用ArrayList dotsList ,保存点的子控件;ArrayList lineTagesList, 保存线(左右斜线)的子控件; ArrayList slectedList,用来保存监听的事件;使用tag 来保存上一次操作的子控件的对象或index ;lastSelectedDot监听上一次点击的点。

三)具体的实现和源代码
功能:获取xml中的布局 配置不同手机的分辨率


图案解锁(2)1.png

功能:设置tag 值, 设置子控件的可见度,创建横线


图案解锁(2)2.png

功能:导入我们提前准备的图片,方便以后的使用
图案解锁(2)3.png

功能:创建竖线设置它在屏幕的位置,设置是否点亮
图案解锁(2)4.png

功能:创建左右斜线,添加到相对应的位置


图案解锁(2)5.png

功能:设置对应tag 隐藏图片 显示对应的图片 创建控件的尺寸
图案解锁(2)6.png

功能:设置移动事件,监听事件,判断事件的范围是否在点的周围,如果是点亮改事件,并记录该点tag 作为密码添加到数组中
图案解锁(2)7.png

功能:记录移动的点的tag 判断第一次是否为起始点,并记录tag 作为密码
图案解锁(2)8.png

功能:点亮两点之间的线,每次判断有两点之间最小的乘以10 加上大的那个数
图案解锁(2)9.png

功能:设置密码,判断密码是否正确
图案解锁(2)10.png
图案解锁(2)11.png

功能:设置文本提醒,方便用户知道自己操作到什么地方了


图案解锁(2)12.png

具体实现GIF:


图案GIF.gif

你可能感兴趣的:(Android开发之图案解锁(2))