添加 PatternLock 到项目

  • 第一步: 添加 JitPack 到项目的根 build.gradle
allprojects {repositories {...maven { url 'https://jitpack.io' }}
}
复制代码
  • 第二步:添加库依赖
dependencies {implementation 'com.github.huangziye:PatternLock:${latest_version}'
}
复制代码
  • 在 xml 中编写
<com.hzy.lock.PatternLockViewandroid:id="@+id/mPatternLockView"android:layout_width="280dp"android:layout_height="280dp"android:layout_gravity="center_horizontal"android:layout_marginTop="16dp"app:aspectRatio="square"app:aspectRatioEnabled="true"app:dotAnimationDuration="150"app:dotCount="3"app:dotNormalSize="10dp"app:dotSelectedSize="24dp"app:normalStateColor="@color/colorPrimary"app:correctStateColor="@color/colorPrimary"app:wrongStateColor="@color/pomegranate"app:pathEndAnimationDuration="100"app:pathWidth="3dp"/>
复制代码
  • 用 kotlin 代码实现
private fun initPatternLockView() {//设置横纵坐标点的个数mPatternLockView.setDotCount(3)//设置未选中点的大小mPatternLockView.setDotNormalSize(ResourceUtil.getDimensionInPx(this,R.dimen.pattern_lock_dot_size) as Int)//设置选中时点的大小mPatternLockView.setDotSelectedSize(ResourceUtil.getDimensionInPx(this,R.dimen.pattern_lock_dot_selected_size) as Int)//设置路径线的宽度mPatternLockView.setPathWidth(ResourceUtil.getDimensionInPx(this,R.dimen.pattern_lock_path_width) as Int)//设置宽高比是否启用mPatternLockView.setAspectRatioEnabled(true)//设置宽高比mPatternLockView.setAspectRatio(PatternLockView.AspectRatio.ASPECT_RATIO_HEIGHT_BIAS)//设置View的模式mPatternLockView.setViewMode(PatternLockView.PatternViewMode.CORRECT)//设置点动画持续时间mPatternLockView.setDotAnimationDuration(150)// 设置Pat结束动画持续时间mPatternLockView.setPathEndAnimationDuration(100)//设置正确的状态颜色mPatternLockView.setCorrectStateColor(ResourceUtil.getColor(this, R.color.colorPrimary))//是否设置为隐身模式mPatternLockView.setInStealthMode(false)//设置是否启用触觉反馈mPatternLockView.setTactileFeedbackEnabled(true)//设置输入是否启用mPatternLockView.setInputEnabled(true)mPatternLockView.addPatternLockListener(mPatternLockViewListener)
}
复制代码

效果预览

关于我

  • 简书

  • 掘金

  • Github

License

Copyright 2018, huangziyeLicensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.
复制代码

快速实现手势解锁功能相关推荐

  1. android的手势解锁功能,Android应用开发之Android 5秒学会使用手势解锁功能

    本文将带你了解Android应用开发Android 5秒学会使用手势解锁功能,希望本文对大家学Android有所帮助. Android手势解锁 本文讲述的是一个手势解锁的库,可以定制显示隐藏宫格点.路 ...

  2. android解锁动画效果,Android 5秒学会使用手势解锁功能

    Android手势解锁 本文讲述的是一个手势解锁的库,可以定制显示隐藏宫格点.路径.并且带有小九宫格显示图,和震动!让你学会使用这个简单,高效的库! 先来一波效果效果展示: 手势解锁效果 今天给大家介 ...

  3. 自定义手势解锁锁控件

    一.控件的使用 模仿市面上app的手势解锁功能,实现的小控件,将控件封装到了一个UIView上 二.核心原理技术 1.触摸事件 (1)UIView的触摸三个触摸响应事件:开始.移动.结束 (2)CGR ...

  4. android手势解锁说明

    购买了G1的网友发现自己的屏幕解锁方式是按下Menu键,似乎没有看到Android手势解锁这个比较酷的功能, 我们完全可以自己设置T-Mobile G1来开启手势解锁功能,在Android操作系统中由 ...

  5. android 手势密码功能sdk,利用ActivityLifecycleCallBack监控app前后台状态切换,实现手势密码即九宫格解锁...

    转载注明出处:http://blog..net/coderder/article/details/51063493 利用ActivityLifecycleCallbacks监控app前后台状态切换,实 ...

  6. 用 canvas 实现 Web 手势解锁

    手动实现一个 H5 手势解锁,具体的效果就像原生手机的九宫格解锁那样. 基本要求是这样的:将密码保存到 localStorage 里,开始的时候会从本地读取密码,如果没有就让用户设置密码,密码最少为五 ...

  7. 如何用Python实现iPhone X的人脸解锁功能?

    翻译 | AI科技大本营(公众号ID:rgznai100) 参与 | 林椿眄 编辑 | 费棋 FaceID 是新款 iPhone X 最受欢迎的功能之一,它取代 TouchID 成为了最前沿的解锁方式 ...

  8. iOS指纹解锁和手势解锁

    前言 一直想写博客来着,一来可以记录一些自己学习和研究的东西,二来也可以将自己写的一些东西分享出去,给他人参考,还可能收到他人的一些建议,从而完善自己的项目和提升自己的技术,这也是一种很好的技术交流方 ...

  9. 为安卓应用添加手势密码功能,遇到的一些问题以及解决方法

    公司的APP有个需求为他添加类似于支付宝的手势密码验证功能效果图如下 首先我们要分析三个问题: 1.手势密码的作用是什么? 2.在什么时候启动? 3.启动之后干什么? 1.手势密码的作用是什么? 这里 ...

最新文章

  1. U-BOOT下使用bootm引导内核方法
  2. SQL SERVER 基础知识及语法总结,从头说起,一点一滴 (一)
  3. dotNetCharting使用总结
  4. 搜索引擎怎么收集的那么多内容?
  5. AOP+自定义注解 实现service统一的异常信息处理
  6. live-server 箭头函数
  7. JAVA编码(27)——执行批量导入Excel文件并进行解析
  8. mysql创建联合唯一索引
  9. jquery叠加页片自动切换特效
  10. 7-14 到底是不是太胖了 (10 分)
  11. PowerShell: 如何使用powershell处理Excel
  12. 如何制作纯净的U盘启动盘
  13. 数学知识整理:布朗运动与伊藤引理 (Ito‘s lemma)
  14. 手把手教你vue中如何使用TradingView
  15. Python基础知识之面向对象编程介绍(二)
  16. Android美团评分组件及消息提示框自我定制(14)
  17. 航天类免费共享资料(电子书籍)
  18. 第七章 - 直方图与匹配 - 直方图的计算与显示(cvCalcHist)
  19. 设置Excel单元格行宽列高
  20. python的“end=”介绍

热门文章

  1. 2-1:套接字(Socket)编程之必备知识
  2. 设计模式:装饰模式(C++)【小明习武闯天下】
  3. jqgrid下treegrid排序问题
  4. jQuery - 链(Chaining)
  5. linux_安装jdk和mysql简单步骤记
  6. HDU-Largest Rectangle in a Histogram-1506 单调栈
  7. MyEclipse断点调试不可用解决办法
  8. Python面向对象基础一
  9. Hello, Android 快速入门
  10. Modular multiplicative inverse 模逆元