九宫格手势密码

九宫格密码

九宫格密码的使用一般分为两种场景:

  • 系统级别的锁屏密码
  • App级别的长登录状态的启动验证

本篇文章主要介绍的是App级别的启动验证,主要从三方面介绍:

1、提供已经写好的九宫格密码View。

2、讲解九宫格密码View的使用方法。

3、九宫格密码View的UI的自定义更改。


废话不说,上图

1、添加手势密码

添加密码

2、验证手势密码

验证手势密码


一、本文中用的九宫格密码自定义View

下载链接:

九宫格手势密码View
MD5加密工具类

二、密码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!

猜你喜欢

转载自blog.csdn.net/nsacer/article/details/75194882