Home

Awesome

Enhanced Entry for Xamarin Forms

Build Status

A simple extended Xamarin Forms Entry with custom behaviours.

Setup

Available on NuGet: https://www.nuget.org/packages/LeoJHarris.XForms.Plugin.EnhancedEntry NuGet Install into your Xamarin.Forms project including client project i.e. .Android, .iOS etc.

Gif Demo

EnhancedEntry Gif

Sample Code

https://github.com/LeoJHarris/EnhancedEntry/blob/master/SampleApp/SampleApp/Page1.xaml.cs

Usage

You must do this AFTER you call Xamarin.Forms.Init();

In your Android

 Xamarin.Forms.Init();
 LeoJHarris.FormsPlugin.Droid.EnhancedEntryRenderer.Init(this);

In your iOS

 Xamarin.Forms.Forms.Init(); 
 LeoJHarris.FormsPlugin.iOS.EnhancedEntryRenderer.Init();
 LoadApplication(new App());

XAML

First add the xmlns namespace:

 xmlns:enhancedEntry="clr-namespace:LeoJHarris.FormsPlugin.Abstractions;assembly=LeoJHarris.FormsPlugin.Abstractions"

Then add the xaml (or just use the code behind)

Bindable Properties

Places an icon to the left inside the entry, icons to be placed inside respective drawable folders and iOS in the resources files, set the PaddingLeftIcon for padding space between icon and entry text.

Must be set for respective bindables such as CornerRadius, FocusBorderColor etc.

When the entry has focus otherwise the BorderColor will be set when off focus.

Desired padding between the Entry text and the edge of the Entry.

Displayed for the keyboard action button. Run time exception will be thrown if unsupported on platform.

Entry that will be given focus when keyboard action button pressed and keyboard ReturnKeyType is type - Next, otherwise if GoToNextEntryOnLengthBehaviour has been added and condition is satisfied.

Given command parameter to execute when keyboard action button pressed and ReturnKeyType is type - Done.

Custom Behaviours

Compare entries given some condition checks. Each entry should contain in the collection PasswordCompareValidation the entries to compare (see examples above), additional bindable properties include ValidColor and InValidColor that apply if there is or isn't a match between the collection of Entries.

PLEASE NOTE: Although these bindable properties are set per entry, they should all have the same values for all entries to check in the collection. You are able to set the MinimumLength of the passwords. Currently the password validation requires an uppercase, lowercase and a number, therefore the minimum length can be set.

Used for emails. The EmailRegularExpression bindable property can be overridden if desired.

Sets focus to the NextEntry on the given CharacterLength. In addition required to set MaxLengthValidator i.e. MaxLength="1" to ensure that the entry doesn't exceed the CharacterLength

Toggles visibility of text with type password. Use Effects = { new ShowHiddenEntryEffect() }

Applies a mask to the Entry. Bindable properties InValidColor and ValidColor can be set to update the color for of the drawable image within the Entry. Please set LeftIcon to enable this. Refer to docs.

License

Licensed under MIT, see license file

As with any open source project if you see improvements feel free to add your PR's