Android手势解锁, 九宫格解锁
给大家介绍一个很好用的手势解锁控件ShapleLocker, 废话不多先上效果图:

这是一个第三方库, 可自己根据UI需求替换图标: 圆圈, 小箭头等等..
github地址:
http://panespanes.github.io/ShapeLocker/
用法很简单, 首先在gradle中添加依赖:
在项目(project, 不是module)的build.gradle中, respositories的最后加上一行引用jitpack的maven仓库地址
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
然后在你需要用到控件的module的build.grade中添加依赖:
dependencies {
compile 'com.github.panespanes:ShapeLocker:v1.0.4'
}
接下来开始正式使用!
在layout.xml中添加ShapeLocker控件
<com.panes.shapelocker.view.ShapeLocker
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/darker_gray"
> </com.panes.shapelocker.view.ShapeLocker>
OK, 赶紧运行一下看看效果吧~
--------
tips:
xml里面
android:background="@android:color/darker_gray"
其实是控件的背景色, 当然你也可以换成自己喜欢的颜色~
--------
个性化的设置
ShapeLocker提供了配置类, 可以应用一些内置的主题:
ShapeLockerProperties.with(mContext).loadLightTheme();
当然也可以这样写: 效果是一样的
ShapeLocker sl = (ShapeLocker) findViewById(R.id.sl);
sl.loadLightTheme();
目前暂时只有默认的LightTheme, 配色方案为
未激活状态: 白色小点
激活状态: 绿色圆圈
错误状态:红色圆圈
正确状态:绿色圆圈
以后会考虑加入更多和更好看的主题~
ShapeLocker类也提供了set方法可以自定义上述各种icon, 留待各位自行去探索吧~
Android手势解锁, 九宫格解锁的更多相关文章
- Python+Appium自动化测试(10)-TouchAction类与MultiAction类(控件元素的滑动、拖动,九宫格解锁,手势操作等)
滑动屏幕方法swipe一般用于对页面进行上下左右滑动操作,但自动化过程中还会遇到其他情况,如对控件元素进行滑动.拖拽操作,九宫格解锁,手势操作,地图的放大与缩小等.这些需要针对控件元素的滑动操作,或者 ...
- Android之九宫格解锁的实现
<ignore_js_op> 下面是最重要的那个LocusPassWordView ...
- appium 九宫格解锁招商银行手机客户端app
之前研究了一段时间的appium for native app 相应的总结如下: appium测试环境搭建 :ht ...
- App自动化(2)--Python&Appium实现安卓手机九宫格解锁
九宫格作为常见的手势密码,我们在使用的时候,是从起点开始,按住不放,然后滑动手指,直到最后一个点松开手指,如果与设置的手势密码匹配,则解锁成功. 现在大多数九宫格作为一个元素存在,很难定位到每一个点. ...
- Appium解锁九宫格(TouchAction)
TouchAction 1.源码可以在这个路径找到:Lib\site-packages\appium\webdriver\common\touch_action.py class TouchActio ...
- uiautomator2 实现App九宫格解锁
App九宫格解锁 之前在testerhome社区看见codeskyblue大佬写过一种方法,但是这种办法存在一个弊端,那就是多个点的坐标是写死的,也就是说要是换了部手机,九宫格解锁就行不通了,于是就想 ...
- appium 解锁九宫格
很多人在自动化的过程中,对解锁9宫格有很多麻烦,特别是app上的有些整个放在整个view中,这就给我们测试解锁九宫格带来问题了,笔者尝试了去解决,但是都没有找到一个很好的方案,那么我就试着先去通过安卓 ...
- Android 手势水平监听判断
package com.zihao.ui; import com.zihao.R; import android.os.Bundle; import android.app.Activity; imp ...
- Android手势锁实现
最终效果如下 整体思路 a.自定义了一个RelativeLayout(GestureLockViewGroup)在里面会根据传入的每行的个数,生成多个GestureLockView(就是上面一个个小圈 ...
随机推荐
- android基本的数据库创建和使用
android的四大组件中就有Content Provider,对其他应用,提供自己的数据,所以,一般情况下,android应用不需要提供content provider. 1. 简单的数据库表单字 ...
- Android Loader详解四:回调及完整例子
onLoadFinished 这个方法是在前面已创建的装载器已经完成其加载过程后被调用.这个方法保证会在应用到装载器上的数据被释放之前被调用.在此方法中,你必须删除所有对旧数据的使用(因为它将很快会被 ...
- jquery mobile (一)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- oracle全托管驱动Oracle.ManagedDataAccess
oracle官方的托管驱动,发布只需一个6M多的dll,支持EF 支持分布式事务,使用步骤如下: 1,Download ODP.NET, Managed Driver .zip file to a d ...
- SLua 中继承 C# 类接口 Slua.Class 的一个 Bug。
由于目前要把大量的代码移植到 lua 中(真是够虐心的),面向对象肯定少不了,项目的代码都是这么设计的,于是就测试 Slua.Class 接口来扩展 C# 的类,发现有点问题,给作者提交了一个 Iss ...
- [NOIP2005]采药
2005年NOIP全国联赛普及组 [题目描述 Description] 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个 ...
- JAVA--线程wait()、lnotify()和notifyAll()方法
join()方法是Thread类的一个方法,而wait().notify().notifyAll()是java.lang.Object类的方法,这意味着,任何一个Java对象(包括线程对象)都有wai ...
- Kernel compiling for Pi 2
https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=101188&p=807579&hilit=cross+comp ...
- PL/SQL练习
简单结构 set serveroutput on; DECLARE v_name ); BEGIN v_name := 'hello'; dbms_output.put_line(v_name); E ...
- Microsoft Visual Studio 2013如何设置查找头文件的路径