年轻人的第一个开源库:FunnyUnlockView

但是一个人并不是为失败而生的——一个人可以被摧毁,但不能被打败——海明威

年轻人的第一个开源库:
FunnyUnlockView
几行代码助您轻松实现Android九格滑动解锁界面!
项目地址: 这里

概况/Brief Description

Author:FunnySaltyFish
from 2018.8.12 to 2019.12.22

效果/Result

result

基本使用/Basic Usage

FunnyUnlockView view=new FunnyUnlockView(this);  
setContentView(view);  

●若您不设置任何属性,您可以直接向这样使用。
◆在这种状况下,您可以实现手指滑动完成连线,内部处理逻辑会自动完成输入*(第一次合法连线)和验证(第二次合法连线)*操作。但不会有任何提示。

设置模式/Set Pattern

●本View实现了两个模式及输入密码模式和使用密码模式

模式常量描述
设置密码PATTERN_SET在该模式下用户将完成对密码的输入操作,其中包括第一次的输入和第二次的验证操作。当输入密码合法时,将会自动跳到验证。
使用密码PATTERN_UNLOCK在该模式下,用户将使用以获得的密码进行解锁。您可以调用getUnlockCode()获取已保存密码
  • 您可以使用unlockview.setPattern(int pattern);
  • 默认模式为设置密码模式

添加回调/Add Callback

●本View可以添加以下两个Listener
◆FunnyOnInputCodeListener

  • 当用户输入密码时,会回调此接口
void onFinish(List<Integer> code,int inputTimes);  
	//完成一次输入或一次验证后回调  
	//code:当前输入的密码  
	//inputTimes:输入密码的次数(0代表第一次输入,1代表正在验证)  
	  
void onFailed(List<Integer> code,int inputTimes);  
	//输入的密码有问题或验证失败时回调此方法  
	//code:当前输入的密码  
	//inputTimes:输入密码的次数(0代表第一次输入,1代表正在验证)  
  • 具体使用逻辑可参见内置案例
    ◆FunnyOnUnlockListener
    *当用户使用已设置好的密码解锁时,会回掉此接口
	void onSuccessd(List<Integer> code);  
	//使用密码解锁成功后回调  
	//code:解锁密码  
	  
	void onFailed(List<Integer> inputCode,List<Integer> rightCode);  
	//解锁失败(密码不正确)的回调  
	//inputCode:用户当前输入的密码  
	//rightCode:实际上正确的密码  

属性设置/Set Attributes

●目前仅支持使用java代码设置属性
◆绘制方面/Draw(以下所有属性均有对应的set/get方法)

   private float smallCircleRadius=6f;//小圆半径  
	private float largeCircleRadius=12f;//当某个点被选中时,它所强调的圆的半径  
	private int lineColor=Color.WHITE;//线条颜色  
	private int lineWidth=12;  
	private int smallCircleColor=Color.WHITE;//正常绘制的点的颜色  
	private int largeCircleColor=Color.WHITE;//当某个点被选中时,画的大圆的颜色  
  

◆密码方面/Code

   private int pattern;//设置/输入  
	private int inputPasswordTimes=0;//输入密码次数 该变量用于记录是第一次完成输入密码还是第二次完成输入密码  
	private int minCodeLength=4;//密码最短长度  
	private int maxCodeLength=9;//密码最短长度  
	private int activeRadius=50;//该变量用于判断手指位置在某点的多少范围位置内算是触摸到点 用于提高用户触摸到某点的概率  

其他/Others

  • 您可以使用isCurCodeRight()判断当前输入的密码是否正确
  • 您可以直接使用setUnlockCode(List unlockCode)来设置一个密码,而不是让用户输入
  • 不同模式间的切换,内部不会自动进行,请根据需要手动进行
  • 本项目内的密码类型为ArrayList,从0-8代指九个点(从左到右,从上到下)
  • 这是我第一次做开源,很多地方不是很到位,敬请谅解。本项目初次创建于2018年,当时是为了练习使用2019年12月将其改成现在。这将是FunnyViews家族的第一个孩子,感谢您的支持。

使用/Use

  • 暂时不支持maven方式添加依赖,如需使用,请clong项目,并使用compile project或直接复制相应代码(保留作者身份),谢谢

其他文章/Other articles

一种创新的正六边形定位(全过程详解)
它的完整项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值