一)前文Android开发之图案解锁(1)以创建了我们图案解锁的基本组件和大致的构思和背景具体请访问(https://www.jianshu.com/writer#/notebooks/38985049/notes/53183442)
二)添加事件,便于监控我们的子组件。在这我们使用ArrayList<ImageView> dotsList ,保存点的子控件;ArrayList<Integer> lineTagesList, 保存线(左右斜线)的子控件; ArrayList<ImageView> 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