九宫格密码
九宫格密码的使用一般分为两种场景:
- 系统级别的锁屏密码
- App级别的长登录状态的启动验证
本篇文章主要介绍的是App级别的启动验证,主要从三方面介绍:
1、提供已经写好的九宫格密码View。
2、讲解九宫格密码View的使用方法。
3、九宫格密码View的UI的自定义更改。
废话不说,上图
1、添加手势密码
2、验证手势密码
一、本文中用的九宫格密码自定义View
下载链接:
二、密码View的使用方法
(1)xml文件,像其他控件一样直接使用
<customview.GesturePassword
android:id="@+id/mPassWordView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
(2)代码当中的处理
GesturePassword mPwdView = (GesturePassword) findViewById(R.id.mPassWordView);
mPwdView.setOnCompleteListener(new GesturePassword.OnCompleteListener() {
@Override
public void onComplete(String mPassword) {
//mPassword为输入的密码
}
});
在onComplete(String mPassword){}方法里可以进行是设置密码还是验证密码的判断操作,判断依据是存储到SharePreference里的MD5加密的手势密码是否为空。所以下边有两个结果:
1、设置密码(也有两个结果A/B)
A:用户是第一次绘制密码,暂存等待用户第二次绘制。
B:用户是第二次绘制,绘制完成和第一次绘制结果比较,不一致要求重新绘制,一致的话就MD5加密存储到SharePreference,并关闭当前设置页面。2、验证密码(判断用户此次输入密码是否和存储的密码一致)
A:密码一致则关闭当前页面,正常显示其他页面。
B:密码不一致,提示用户重试,如果输错达到限制可以做清空登陆信息、清空密码、关闭App登操作。
九宫格手势密码View用到的方法
//清空已经输入的手势密码
clearPassword();
//密码输入错误调用,更改显示的UI
markError()
三、九宫格UI样式的自定义更改
1、颜色:所给出的自定义View里边都有详细的注释说明,主要包括
- 内外圈颜色
- 连接线颜色
- 连接线上的箭头颜色
- 选中状态的颜色
- 错误状态的颜色
2、dotRadius 为外圈半径,在initCache()方法里边设置
- 外圈的半径,默认为空间宽度的1/10
- 内圈半径为外圈半径的1/4
文章到这里就结束了,需要的同学可以下载后自己试试,可用到的方法和处理逻辑都在文中说明了,基本没什么难度。Try it!