直接上效果图
一、概述
这是一个手势密码库,可以直接implementation使用,包含自定义手势密码控件PwdGestureView.java,
以及两个activity,创建手势密码PwdGestureCreateActivity.java,验证手势密码PwdGestureInputActivity.java。
二、实现原理
很简单,就是从左到右,从上到下,一次编号为123456789,手指划过的顺序对应的编号组成手势密码,接下来不说应该也都明白了吧。具体实现方式和逻辑可以自行下载查看,下载链接见本文末尾。
三、使用方法
1.在工程根目录build.gradle增加如下配置:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
2.添加依赖,在app工程目录build.gradle增加如下配置:
dependencies {
implementation 'com.github.rhinoSp:LibPwdGesture:v1.0.0'
}
3.创建手势密码
1)启动创建手势密码界面
// 默认方式,打开默认创建手势密码界面
PwdGestureUtils.createPwd().show(@NonNull Activity activity);
// 当然也可以打开自己自定义的activity
PwdGestureUtils.createPwd().show(@NonNull Activity activity, @NonNull Class<?> cls);
2)监听创建手势密码返回结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case PwdGestureUtils.Build.REQUEST_CODE_CREATE_PWD:
if (resultCode == Activity.RESULT_OK) {
showToast("手势密码创建成功");
mPwdGestureArray = data.getIntArrayExtra(PwdGestureUtils.Build.KEY_RIGHT_PASSWORD);
} else {
showToast("取消创建");
}
break;
default:
break;
}
}
4.验证手势密码
1)启动验证手势密码界面
// 默认方式,打开默认创建手势密码界面
PwdGestureUtils.inputPwd().show(@NonNull Activity activity);
// 当然也可以打开自己自定义的activity
PwdGestureUtils.inputPwd().show(@NonNull Activity activity, @NonNull Class<?> cls);
2)监听创建手势密码返回结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case PwdGestureUtils.Build.REQUEST_CODE_INPUT_PWD:
if (resultCode == Activity.RESULT_OK) {
// 手势密码验证通过,进入首页
showToast("手势密码验证通过");
startActivity(new Intent(getApplicationContext(), SecondActivity.class));
//finish();
} else {
showToast("放弃验证");
}
break;
default:
break;
}
}
5.更多接口介绍
- setRequestCode(int requestCode) 自定义requestCode
- setRowCount(int rowCount) 设置行数
- setColumnCount(int columnCount) 设置列数
- setNormalOvalStrokeWidth(int width) 设置未选中圆环宽度
- setNormalOvalStrokeColor(@ColorInt int color) 设置未选中圆环颜色
- setNormalOvalStrokeSelectColor(@ColorInt int color) 设置未选中圆环选中时颜色
- setNormalOvalStrokeErrorColor(@ColorInt int color) 设置未选中圆环匹配失败时颜色
- setNormalOvalSolidColor(@ColorInt int color) 设置未选中圆环填充颜色
- setNormalOvalSolidSelectColor(@ColorInt int color) 设置未选中圆环填充选中时颜色
- setNormalOvalSolidErrorColor(@ColorInt int color) 设置未选中圆环填充匹配失败时颜色
- setNormalOvalRadius(int radius) 设置未选中圆环半径
- setSelectOvalStrokeWidth(int width) 设置选中圆环宽度
- setSelectOvalStrokeColor(@ColorInt int color) 设置选中圆环颜色
- setSelectOvalStrokeErrorColor(@ColorInt int color) 设置选中圆环匹配失败时颜色
- setSelectOvalSolidColor(@ColorInt int color) 设置选中圆环填充颜色
- setSelectOvalSolidErrorColor(@ColorInt int color) 设置选中圆环填充匹配失败时颜色
- setSelectOvalRadius(int radius) 设置选中圆环半径
- setShowGestureLine(boolean show) 设置是否显示手势线条
- setGestureLineWidth(int width) 设置手势线条颜色
- setGestureLineColor(@ColorInt int color) 设置手势线条颜色
- setGestureLineErrorColor(@ColorInt int color) 设置手势线条匹配失败时颜色
- setAutoMatch(boolean autoMatch) 设置是否自动匹配
- setAutoResetDelay(int delay) 设置自动匹配失败后重置时间
- setMinSelectCount(int count) 设置最少选择点个数
- setRightPassword(int[] rightPwd) 设置正确密码
- setActionBarBackgroundColor(@ColorInt int color) 设置顶部栏背景色,包括状态栏和标题栏
- setStatusBarBackgroundColor(@ColorInt int color) 设置状态栏背景颜色
- setTitleBackgroundColor(@ColorInt int color) 设置标题栏背景颜色
- setTitle(String title) 设置标题
- setTitleBackButtonVisible(boolean visible) 设置是否显示标题返回按钮
- show(@NonNull Activity activity) 进行页面跳转
- show(@NonNull Activity activity, @NonNull Class