Coder Social home page Coder Social logo

xamarinformspinview's Introduction

PIN keyboard for Xamarin.Forms

 

Usage

  1. Add the following NuGet package: https://www.nuget.org/packages/FormsPinView/ NuGet

    OR

    add FormsPinView.Core, FormsPinView.iOS, and FormsPinView.Droid to your solution.

  2. Initialize iOS and Android renderers:

     // iOS:
     public override bool FinishedLaunching(UIApplication app, NSDictionary options)
     {
         ...
         global::Xamarin.Forms.Forms.Init();
         PinItemViewRenderer.Init();
     }
     
     // Android:
     protected override void OnCreate(Bundle bundle)
     {
         ...
         global::Xamarin.Forms.Forms.Init(this, bundle);
         PinItemViewRenderer.Init();
     }
    
  3. Add PinView to your page:

     ...
     xmlns:local="clr-namespace:FormsPinView.Core;assembly=FormsPinView.Core"
     ...
         <local:PinView
             HorizontalOptions="CenterAndExpand"
             VerticalOptions="CenterAndExpand"
             TargetPinLength="4"
             Validator="{Binding ValidatorFunc}"
             Success="Handle_Success" />
    
  4. PinView is MVVM-ready, so you can bind the following properties:

Property Type Description Default Required
Validator Func<IList<char>, bool> Function to check entered PIN null Yes
PinLength int The PIN length 4 No
SuccessCommand ICommand Invoked when the correct PIN is entered null No
ErrorCommand ICommand Invoked when an incorrect PIN is entered null No
ClearAfterSuccess bool Indicates whether the entered PIN should be cleaned or not after it was confirmed as correct true No
BorderColor Color View tint color. Gray No
Color Color View basic color. Black No
RippleColor Color View touch-effect color. Gray No

TODO

  • Use AbsoluteLayout instead of Grid, no XAML
  • Colorizing
  • Rowspacing & Colspacing
  • Buttons are Circle or Square
  • Font size
  • Button background
  • Buttom border (size)
  • Randomizing the numbers order
  • CI builds
  • UI tests

Changelog

2.1.0-pre1

  • Root container changed from Grid to AbsoluteLayout
  • Allowed to configure view colors: see BorderColor, Color, and RippleColor
  • Removed EmptyCircleImage and FilledCircleImage properties

2.0.0

  • Released 2.0.0-pre1 as a stable version

2.0.0-pre1

  • Removed Title property: now you have to implement it manually in your UI
  • Refactored the ViewModel API (splitted into bindable properties)
  • Namespaces changed from PCL to Core.
  • Allowed to change the PIN length dynamically as well as PIN symbols

1.1.1

  • Released 1.1.1-pre1 as a stable version

1.1.1-pre1

  • Fixed NSInternalInconsistencyException crash on iOS

1.1.0

  • .NET Standard 2.0 is now supported
  • PCL support is dropped

1.0.1

  • Changed PCL profile to 259
  • Added F# sample

1.0.0

  • Intilial release

License

BSD 2-Clause.

xamarinformspinview's People

Contributors

lassana avatar

Watchers

James Cloos avatar Xamarin Archive avatar

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.