Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

九宫格手势锁View,Android phone pattern lock screen

Notifications You must be signed in to change notification settings

Reone/GestureLock

Repository files navigation

GestureLock

九宫格手势锁View,Android phone pattern lock screen

参考 感谢: jlertele/GestureLibray

  • 这是一个九宫格解锁的库
  • 提供一个View -- LockView
  • 支持通过xml设置颜色,大小等等属性
  • 支持自定义图案,默认的有Style.NORMAL,Style.RECT,也可以完全自定义,demo中有例子
  • 提供LockView的逻辑管理接口,也就是View的事件监听 -- ProcessManager 通过这个接口你可以完成解锁的大部分需求,具体接口如下
public abstract class ProcessManager {
 private LockView lockView = null;
 /**
 * 开始输入
 * @return true则允许输入,false不允许输入
 */
 public abstract boolean onInputStart();
 /**
 * 当一个新的点选中的时候调用
 * @param point
 */
 public abstract void pointAttach(@NonNull Integer point);
 /**
 * 输入完成
 * @param points
 */
 public abstract void onInputEnd(@NonNull List<Integer> points);
 /**
 * 某些变量的初始化需要用到lockView可以在这个方法中进行
 */
 public abstract void lockViewAttach();
 protected @NonNull LockView getLockView() {
 return lockView;
 }
 public void setLockView(@NonNull LockView lockView) {
 this.lockView = lockView;
 lockViewAttach();
 }
}
  • 提供一个常用的逻辑管理类 -- SimpleProcessManager
  • 提供了一些小东西,Base64.java、PasswordCache.java、VibratorUtil

引用

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}
dependencies {
	implementation 'com.github.Reone:GestureLock:$version_code'
}

使用

  1. 添加引用
  2. 在布局中添加LockView
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent" android:layout_height="match_parent"
 android:background="#1592f1"
 xmlns:app="http://schemas.android.com/apk/res-auto">
 <com.reone.gesturelibrary.view.LockView
 android:id="@+id/lockView"
 android:layout_width="300dp"
 android:layout_height="300dp"
 android:layout_gravity="center"
 android:background="#1592f1"
 app:color_error_ring="#c62828"
 app:color_on_ring="#ffffff"
 app:color_up_ring="#ffffff"
 app:color_on_background="#1592f1"
 app:inner_background_width="19dp"
 app:inner_ring_width="14dp"
 app:outer_ring_spacing_width="41dp"
 app:line_width="3dp"
 app:stroke_width="3dp"
 app:no_finger_stroke_width="3dp"/>
</FrameLayout>
  1. 创建逻辑管理类
	class SimpleProcessManager extends ProcessManager
  1. 设置自定义管理类
	lockView = findViewById(R.id.lockView);
	lockView.setProcessManager(new SimpleProcessManager());

注意:声明时需要添加泛型

	LockView<SimpleProcessManager> lockView;
  1. 使用自定义管理类方法
	lockView.getProcessManager().setMode(SimpleProcessManager.SETTING_PASSWORD);

图例

About

九宫格手势锁View,Android phone pattern lock screen

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /