给大家介绍一个很好用的手势解锁控件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手势解锁, 九宫格解锁的更多相关文章

  1. Python+Appium自动化测试(10)-TouchAction类与MultiAction类(控件元素的滑动、拖动,九宫格解锁,手势操作等)

    滑动屏幕方法swipe一般用于对页面进行上下左右滑动操作,但自动化过程中还会遇到其他情况,如对控件元素进行滑动.拖拽操作,九宫格解锁,手势操作,地图的放大与缩小等.这些需要针对控件元素的滑动操作,或者 ...

  2. Android之九宫格解锁的实现

        <ignore_js_op>                                                  下面是最重要的那个LocusPassWordView ...

  3. appium 九宫格解锁招商银行手机客户端app

    之前研究了一段时间的appium for native app 相应的总结如下:                                            appium测试环境搭建 :ht ...

  4. App自动化(2)--Python&Appium实现安卓手机九宫格解锁

    九宫格作为常见的手势密码,我们在使用的时候,是从起点开始,按住不放,然后滑动手指,直到最后一个点松开手指,如果与设置的手势密码匹配,则解锁成功. 现在大多数九宫格作为一个元素存在,很难定位到每一个点. ...

  5. Appium解锁九宫格(TouchAction)

    TouchAction 1.源码可以在这个路径找到:Lib\site-packages\appium\webdriver\common\touch_action.py class TouchActio ...

  6. uiautomator2 实现App九宫格解锁

    App九宫格解锁 之前在testerhome社区看见codeskyblue大佬写过一种方法,但是这种办法存在一个弊端,那就是多个点的坐标是写死的,也就是说要是换了部手机,九宫格解锁就行不通了,于是就想 ...

  7. appium 解锁九宫格

    很多人在自动化的过程中,对解锁9宫格有很多麻烦,特别是app上的有些整个放在整个view中,这就给我们测试解锁九宫格带来问题了,笔者尝试了去解决,但是都没有找到一个很好的方案,那么我就试着先去通过安卓 ...

  8. Android 手势水平监听判断

    package com.zihao.ui; import com.zihao.R; import android.os.Bundle; import android.app.Activity; imp ...

  9. Android手势锁实现

    最终效果如下 整体思路 a.自定义了一个RelativeLayout(GestureLockViewGroup)在里面会根据传入的每行的个数,生成多个GestureLockView(就是上面一个个小圈 ...

随机推荐

  1. android基本的数据库创建和使用

    android的四大组件中就有Content Provider,对其他应用,提供自己的数据,所以,一般情况下,android应用不需要提供content provider. 1.  简单的数据库表单字 ...

  2. Android Loader详解四:回调及完整例子

    onLoadFinished 这个方法是在前面已创建的装载器已经完成其加载过程后被调用.这个方法保证会在应用到装载器上的数据被释放之前被调用.在此方法中,你必须删除所有对旧数据的使用(因为它将很快会被 ...

  3. jquery mobile (一)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. oracle全托管驱动Oracle.ManagedDataAccess

    oracle官方的托管驱动,发布只需一个6M多的dll,支持EF 支持分布式事务,使用步骤如下: 1,Download ODP.NET, Managed Driver .zip file to a d ...

  5. SLua 中继承 C# 类接口 Slua.Class 的一个 Bug。

    由于目前要把大量的代码移植到 lua 中(真是够虐心的),面向对象肯定少不了,项目的代码都是这么设计的,于是就测试 Slua.Class 接口来扩展 C# 的类,发现有点问题,给作者提交了一个 Iss ...

  6. [NOIP2005]采药

    2005年NOIP全国联赛普及组 [题目描述 Description] 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个 ...

  7. JAVA--线程wait()、lnotify()和notifyAll()方法

    join()方法是Thread类的一个方法,而wait().notify().notifyAll()是java.lang.Object类的方法,这意味着,任何一个Java对象(包括线程对象)都有wai ...

  8. Kernel compiling for Pi 2

    https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=101188&p=807579&hilit=cross+comp ...

  9. PL/SQL练习

    简单结构 set serveroutput on; DECLARE v_name ); BEGIN v_name := 'hello'; dbms_output.put_line(v_name); E ...

  10. Microsoft Visual Studio 2013如何设置查找头文件的路径