现在好多应用都可以设置手势锁,Android本身也有提供手势图案锁屏。作为Android菜鸟的我,也忍不住想自己动手实现一下。
下面是应用效果图:
思路:
1.自定义一个View,重写onDraw方法,利用canvas绘制图形。
2.实现onTouch事件
* Down Move Down 每次判断是否有在手指的位置相应处理。
3.直接在布局文件里面 引用View就可以了。
注意:
1.我在实现的过程中遇到一个问题,导致应用奔溃,日志信息也看不懂。最后是在stackoverflow上找到解决方法的。自定义的View一定要实现 两个参数的构造函数(即 SudokuView(Context context, AttributeSet attrs) )
2.onTouchEvent 方法的返回值一定要是 true,不然就无法相应 Move 和Up 事件了【只会鸟Down~】
下面直接上代码
Cell 类(存储圆点的信息)
package com.example.mummyding.sudokulock;
/**
* Created by mummyding on 15-7-17.
*/
public class Cell {
private int x;
private int y;
private boolean isSelected;
public boolean isSelected() {
return isSelected;
}
public void setIsSelected(boolean isSelected) {
this.isSelected = isSelected;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
自定义View