{"id":13711305,"url":"https://github.com/LeoJHarris/EnhancedEntry","last_synced_at":"2025-05-06T20:32:37.982Z","repository":{"id":144147432,"uuid":"98980718","full_name":"LeoJHarris/EnhancedEntry","owner":"LeoJHarris","description":"Extended Xamarin Forms Entry with custom behaviours.","archived":false,"fork":false,"pushed_at":"2019-10-18T01:01:50.000Z","size":7363,"stargazers_count":65,"open_issues_count":5,"forks_count":16,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-05-14T00:37:38.621Z","etag":null,"topics":["android","dotnet","ios","xamarin","xamarin-forms"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/packages/LeoJHarris.XForms.Plugin.EnhancedEntry","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LeoJHarris.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-08-01T08:54:50.000Z","updated_at":"2023-10-04T12:18:03.000Z","dependencies_parsed_at":"2023-06-17T11:00:23.184Z","dependency_job_id":null,"html_url":"https://github.com/LeoJHarris/EnhancedEntry","commit_stats":null,"previous_names":["leojharris/advancedentry"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeoJHarris%2FEnhancedEntry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeoJHarris%2FEnhancedEntry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeoJHarris%2FEnhancedEntry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeoJHarris%2FEnhancedEntry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LeoJHarris","download_url":"https://codeload.github.com/LeoJHarris/EnhancedEntry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252764679,"owners_count":21800733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","dotnet","ios","xamarin","xamarin-forms"],"created_at":"2024-08-02T23:01:06.790Z","updated_at":"2025-05-06T20:32:37.419Z","avatar_url":"https://github.com/LeoJHarris.png","language":"C#","funding_links":[],"categories":["UI"],"sub_categories":[],"readme":"**Enhanced Entry for Xamarin Forms**\n\n[![Build Status](https://www.bitrise.io/app/7f1dafa3432c4b0f/status.svg?token=q5DIlKQd3GcOeNAipGvxKQ\u0026branch=master)](https://www.bitrise.io/app/7f1dafa3432c4b0f)\n\nA simple extended Xamarin Forms Entry with custom behaviours.\n\n**Setup**\n\nAvailable 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.\n\n**Gif Demo**\n\n![EnhancedEntry Gif](https://github.com/LeoJHarris/EnhancedEntry/blob/master/assets/android_gif.gif)\n\n**Sample Code**\n\nhttps://github.com/LeoJHarris/EnhancedEntry/blob/master/SampleApp/SampleApp/Page1.xaml.cs\n\n**Usage**\n\nYou must do this AFTER you call Xamarin.Forms.Init();\n\n_In your Android_\n\n```csharp\n Xamarin.Forms.Init();\n LeoJHarris.FormsPlugin.Droid.EnhancedEntryRenderer.Init(this);\n```\n          \n_In your iOS_\n\n```csharp\n Xamarin.Forms.Forms.Init(); \n LeoJHarris.FormsPlugin.iOS.EnhancedEntryRenderer.Init();\n LoadApplication(new App());\n```\n    \n**XAML**\n\nFirst add the xmlns namespace:\n\n```csharp\n xmlns:enhancedEntry=\"clr-namespace:LeoJHarris.FormsPlugin.Abstractions;assembly=LeoJHarris.FormsPlugin.Abstractions\"\n```\n\nThen add the xaml (or just use the code behind)\n    \n**Bindable Properties**\n\n* `LeftIcon`\n\nPlaces 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.\n\n* `BorderWidth`\n\nMust be set for respective bindables such as `CornerRadius`, `FocusBorderColor` etc.\n\n* `FocusBorderColor`\n\nWhen the entry has focus otherwise the `BorderColor` will be set when off focus.\n\n* `BackgroundColor`\n\n* `LeftPadding, TopBottomPadding and RightPadding`\n\nDesired padding between the Entry text and the edge of the Entry.\n \n* `ReturnKeyType`\n\nDisplayed for the keyboard action button. Run time exception will be thrown if unsupported on platform.\n\n* `NextEntry`\n\nEntry 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.\n\n* `KeyBoardAction`\n\nGiven command parameter to execute when keyboard action button pressed and `ReturnKeyType` is type - Done.\n\n**Custom Behaviours** \n\n* `PasswordCompareValidationBehavior`\n\nCompare 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. \n\nPLEASE 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.\n\n* `EmailValidatorBehavior`\n\nUsed for emails. The `EmailRegularExpression` bindable property can be overridden if desired.\n\n* `GoToNextEntryOnLengthBehaviour`\n\nSets 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`\n\n* `ShowHiddenEntryEffect`\n\nToggles visibility of text with type password. Use `Effects = { new ShowHiddenEntryEffect() }`\n\n* `MaskedBehavior`\n\nApplies 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. \n\n**License**\n\nLicensed under MIT, see license file\n\nAs with any open source project if you see improvements feel free to add your PR's\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLeoJHarris%2FEnhancedEntry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLeoJHarris%2FEnhancedEntry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLeoJHarris%2FEnhancedEntry/lists"}