Git Product home page Git Product logo

pattern-lock's Introduction

Pattern Lock View

Android Arsenal

Awesome pattern lock view for android written in kotlin.

demo

Features

  • easy to use
  • beautiful built-in styles
  • fully customizable
  • tiny size around 35 KB

Preview

Usage

Gradle

Top level build file:

allprojects {
    repositories {
        mavenCentral()
    }
}

In your application build file:

implementation 'io.github.itsxtt:pattern-lock:0.2.0'

XML

<com.itsxtt.patternlock.PatternLockView
    android:id="@+id/patternLockView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

Kotlin

patternLockView.setOnPatternListener(object : PatternLockView.OnPatternListener {
    override fun onStarted() {
        super.onStarted()
    }

    override fun onProgress(ids: ArrayList<Int>) {
        super.onProgress(ids)
    }

    override fun onComplete(ids: ArrayList<Int>): Boolean {
        /*
         * A return value required
         * if the pattern is not correct and you'd like change the pattern to error state, return false
         * otherwise return true
         */
        return isPatternCorrect()
    }
})

Java

patternLockView.setOnPatternListener(new PatternLockView.OnPatternListener() {
    @Override
    public void onStarted() {

    }

    @Override
    public void onProgress(ArrayList<Integer> ids) {

    }

    @Override
    public boolean onComplete(ArrayList<Integer> ids) {
        /*
         * A return value required
         * if the pattern is not correct and you'd like change the pattern to error state, return false
         * otherwise return true
         */
        return isPatternCorrect();
    }
});

Customization

Built-in Styles

preview

style="@style/PatternLockView.JDStyle"

preview

style="@style/PatternLockView.WithIndicator"

Custom Attributes

name format default value description
plv_regularCellBackground color|reference null
plv_regularDotColor color #d8dbe9
plv_regularDotRadiusRatio float 0.3
plv_selectedCellBackground color|reference null
plv_selectedDotColor color #587bf4
plv_selectedDotRadiusRatio float 0.3
plv_errorCellBackground color|reference null
plv_errorDotColor color #ea4954
plv_errorDotRadiusRatio float 0.3
plv_lineStyle enum common two values: common, indicator
plv_lineWidth dimension 2dp
plv_regularLineColor color #587bf4
plv_errorLineColor color #ea4954
plv_spacing dimension 24dp
plv_rowCount integer 3
plv_columnCount integer 3
plv_errorDuration integer 400 millisecond
plv_hitAreaPaddingRatio float 0.2
plv_indicatorSizeRatio float 0.2

Secure Mode

You can turn the secure mode on or off via call enableSecureMode() and disableSecureMode().

Change Log

0.2.0 (2021-10-08)

  • migrate to androidx
  • migrate to mavenCentral

0.1.0 (2018-05-31)

  • first release

License

Copyright 2018 itsxtt

Licensed 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 at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed 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 and
limitations under the License.

pattern-lock's People

Contributors

l7naive avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pattern-lock's Issues

Huge dots

image Both in Preview and real devices.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.