android自定义手势解锁

简介

一个手势解锁的view(仿照支付宝手势解锁的样式),可以改变手势解锁的颜色、样式(目前只有两种样式)、大小等等。

1、需要在整个项目的build.gradle中添加如下依赖项(jcenter暂时没有传上去)

allprojects {
    repositories {
        maven {
            url  "http://dl.bintray.com/loner/maven"
        }
    }
}

2、在自己app的build.gradle中添加如下依赖项

compile 'loner.library.gesture:gesture:1.0.1'

使用方法

1、首先在layout文件中显示view

 <loner.widget.lockpattern.view.LockPatternSmallView
        android:id="@+id/mLocusPassWordViewFirstRegisterSmall"
        android:layout_gravity="center"
        android:layout_width="50dp"
        android:layout_height="50dp" >
  </loner.widget.lockpattern.view.LockPatternSmallView>
  <loner.widget.lockpattern.view.LockPatternView
        android:id="@+id/mLocusPassWordViewFirstRegister"
        android:layout_gravity="center"
        android:layout_width="350dp"
        android:layout_height="350dp" >
  </loner.widget.lockpattern.view.LockPatternView>

LockPatternSmallView是小数字键盘,LockPatternView是大数字键盘。
这里有几个属性简单介绍一下(使用方法就是在view下面添加app:pressColor=” “):
- pressColor表示按下是按钮的颜色。
- initColor表示初始时按钮的颜色。
- errorColor表示按下是按钮的颜色。
- style表示手势解锁样式,目前只有0和1两种样式,大家可以试试
- radius表示手势解锁键盘的圆圈半径

2、在java文件中声明两个view变量,一个是大键盘,一个是小键盘,如下:

private LockPatternView lpv;
private LockPatternSmallView lpvs;
lpv=(LockPatternView)findViewById(R.id.mLocusPassWordViewFirstRegister);
lpvs=(LockPatternSmallView)findViewById(R.id.mLocusPassWordViewFirstRegisterSmall);

3、更多使用方法

(1)通过一个回调方法来获取键盘数字密码,写法如下:

lpv.setOnCompleteListener(new LockPatternView.OnCompleteListener() {
    @Override
    public void onComplete(String mPassword) {
            ...
    }
}

onComplete函数就是当键盘输入结束后触发的函数。
onComplete函数中的参数mPassword就是键盘输入结束后的密码,然后在onComplete函数中进行操作。
九宫格标记如下

1 2 3
4 5 6
7 8 9

密码记录的是每个格子的标记,中间用”,”隔开。
mPassword=””的时候,及手势密码位数小于5。

if (mPassword.equals("")) {//手势密码位数不正确
    txtTitle.setText("手势密码不合规范"); 
    txtTitle.setTextColor(Color.RED);            
}

(2)设置键盘不可touch

lpv.disableTouch();

(3)清空键盘

lpv.clearPassword();

(4)设置错误

lpv.error();

(5)保存密码

lpv.setPassWord();

(6)设置小键盘显示

lpvs.setOndraw(FirstPassword);

FirstPassword就是String类型,String格式就是mPassword格式。

(7)密码保存存放到sharedpreference,获取密码如下:

SharedPreferences settings = this.getSharedPreferences("Gesture_Lock",MODE_PRIVATE);
txtPassword.setText(settings.getString("password", ""));

(8)设置密码长度

lpv.setPasswordMinLength(3);

demo以及源码下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值