Android简易手势密码开源库

百度已收录,点击一下,找找看!
文章索引目录

本文由码农网 – 苏耀东原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划

简介

本文介绍一个Android手势密码开源库的使用及实现的详细过程,该开源库主要实现以下几个功能:

  • 支持手势密码的绘制,并支持密码保存功能,解锁时自动比对密码给出结果
  • 封装了绘制密码的方法,比对两次密码是否一致,可以快捷地进行手势密码的设置
  • 可以设置密码输入错误后的重试次数上限
  • 可以自定义不同状态下手势密码图案的颜色
  • 可以自定义手势密码的触摸点数量(n*n)

最近需要用到手势密码解锁功能,找了一些demo感觉用起来都有点麻烦,于是参考一些文章自己造了下轮子,封装了相关的一些方法,使用起来比较便捷。

github链接如下,觉得还可以请帮忙star支持下~

github链接    个人博客

使用效果

首先看下使用效果:

Android简易手势密码开源库

使用方法

XML布局文件中使用该控件

可以设置的一些参数,说明如下:

  • color_no_finger:未触摸时圆形的颜色
  • color_finger_on:触摸时圆形的颜色
  • color_finger_up_correct:输入正确时圆形的颜色
  • color_finger_up_error:出错时圆形的颜色
  • count:收拾密码的圆形数量,n*n
  • preference_id:手势密码保存的id号,不输入或输入-1则使用默认的id

初始化

设置手势密码监听事件

若已经设置有密码则会进入该回调,在这里对结果进行处理,上面的例子中加入了一个重设密码的处理。

手势密码设置

若还未设置密码,绘制手势的时候会进入该回调,返回值为绘制的触摸点的数量,onFirstInputComplete中返回true则进入第二手势密码的绘制,两次输入一致后自动保存密码。

重试次数超过限制监听

若设置了该监听事件,则输入错误有次数限制,超过上限后进入回调,在该回调中进行处理。

清除密码的逻辑自己加个判断处理下即可,具体可以看下github上的demo

其他的一些API

  • public void removePassword() :清除密码
  • public void savePassword() : 保存密码,设置手势密码成功后会自动保存,也可以调用该接口另外设置密码
  • public void getPassword(): 获取密码
  • public void setRetryTimes(int retryTimes) : 设置重试次数上限
  • public boolean isSetPassword() : 返回现在是否已经设置有密码
  • public void resetView() : 将视图Reset

在项目中导入该库

仅需加入两行代码:

在工程的 build.gradle中加入:

module的build.gradle中加入依赖:

总的使用就是这样,是不是很简单!

具体实现过程

下面讲下实现的过程,如果只是直接拿来用的话也可以略过这部分。

自定义手势密码的圆形view

这部分主要参考Hongyang大大的博客,稍微修改了一下

初始化传入参数

根据不同的触摸状态绘制不同颜色的圆

绘制箭头

自定义手势密码的ViewGroup

加入自定义view的属性

获取参数及初始化

根据参数绘制出圆

在onMeasure后调用该方法,绘制圆形矩阵

在触摸监听中处理不同事件

设置密码处理:

检查手势密码是否正确:

重置:

对外公开的一些方法

定义密码存储的Preference

就是简单的存和读

总结

ok,至此,整个手势密码的实现就完成了。

本文链接:http://www.codeceo.com/article/android-gusture-lock.html
本文作者:码农网 – 苏耀东
原创作品,转载必须在正文中标注并保留原文链接和作者等信息。]

原文链接:,转发请注明来源!

发表评论

要发表评论,您必须先登录