├── FloatingLabels ├── AssemblyInfo.cs ├── App.xaml ├── MainPage.xaml.cs ├── FloatingLabels.csproj ├── App.xaml.cs ├── MainPage.xaml └── Controls │ ├── FloatingLabelInput.xaml │ └── FloatingLabelInput.xaml.cs ├── FloatingLabels.iOS ├── Resources │ ├── Default.png │ ├── Default@2x.png │ ├── Default-568h@2x.png │ ├── Default-Portrait.png │ ├── Default-Portrait@2x.png │ └── LaunchScreen.storyboard ├── Assets.xcassets │ └── AppIcon.appiconset │ │ ├── Icon20.png │ │ ├── Icon29.png │ │ ├── Icon40.png │ │ ├── Icon58.png │ │ ├── Icon60.png │ │ ├── Icon76.png │ │ ├── Icon80.png │ │ ├── Icon87.png │ │ ├── Icon1024.png │ │ ├── Icon120.png │ │ ├── Icon152.png │ │ ├── Icon167.png │ │ ├── Icon180.png │ │ └── Contents.json ├── Entitlements.plist ├── Main.cs ├── AppDelegate.cs ├── Info.plist ├── Properties │ └── AssemblyInfo.cs └── FloatingLabels.iOS.csproj ├── FloatingLabels.Android ├── Resources │ ├── mipmap-hdpi │ │ ├── icon.png │ │ └── launcher_foreground.png │ ├── mipmap-mdpi │ │ ├── icon.png │ │ └── launcher_foreground.png │ ├── mipmap-xhdpi │ │ ├── icon.png │ │ └── launcher_foreground.png │ ├── mipmap-xxhdpi │ │ ├── icon.png │ │ └── launcher_foreground.png │ ├── mipmap-xxxhdpi │ │ ├── icon.png │ │ └── launcher_foreground.png │ ├── mipmap-anydpi-v26 │ │ ├── icon.xml │ │ └── icon_round.xml │ ├── values │ │ ├── colors.xml │ │ └── styles.xml │ ├── layout │ │ ├── Toolbar.axml │ │ └── Tabbar.axml │ └── AboutResources.txt ├── Properties │ ├── AndroidManifest.xml │ └── AssemblyInfo.cs ├── Assets │ └── AboutAssets.txt ├── MainActivity.cs └── FloatingLabels.Android.csproj ├── README.md ├── FloatingLabels.sln └── .gitignore /FloatingLabels/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms.Xaml; 2 | 3 | [assembly: XamlCompilation(XamlCompilationOptions.Compile)] -------------------------------------------------------------------------------- /FloatingLabels.iOS/Resources/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Resources/Default.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Resources/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Resources/Default@2x.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Resources/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Resources/Default-Portrait.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Resources/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Resources/Default-Portrait@2x.png -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.Android/Resources/mipmap-hdpi/icon.png -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.Android/Resources/mipmap-mdpi/icon.png -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.Android/Resources/mipmap-xhdpi/icon.png -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.Android/Resources/mipmap-xxhdpi/icon.png -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.Android/Resources/mipmap-xxxhdpi/icon.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-hdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.Android/Resources/mipmap-hdpi/launcher_foreground.png -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-mdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.Android/Resources/mipmap-mdpi/launcher_foreground.png -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-xhdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.Android/Resources/mipmap-xhdpi/launcher_foreground.png -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-xxhdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.Android/Resources/mipmap-xxhdpi/launcher_foreground.png -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-xxxhdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vecalion/FloatingLabels/HEAD/FloatingLabels.Android/Resources/mipmap-xxxhdpi/launcher_foreground.png -------------------------------------------------------------------------------- /FloatingLabels.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /FloatingLabels/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FloatingLabels 2 | 3 | Implementation of the float label pattern in Xamarin Forms. Read more: 4 | 5 | https://trailheadtechnology.com/building-a-floating-label-entry-with-xamarin-forms/ 6 | 7 | ![preview](https://trailheadtechnology.com/wp-content/uploads/2019/06/2019-06-04-20.04.24.gif) 8 | 9 | -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-anydpi-v26/icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFFFFF 4 | #3F51B5 5 | #303F9F 6 | #FF4081 7 | -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/mipmap-anydpi-v26/icon_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /FloatingLabels.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/layout/Toolbar.axml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /FloatingLabels.Android/Resources/layout/Tabbar.axml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /FloatingLabels.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace FloatingLabels.iOS 9 | { 10 | public class Application 11 | { 12 | // This is the main entry point of the application. 13 | static void Main(string[] args) 14 | { 15 | // if you want to use a different Application Delegate class from "AppDelegate" 16 | // you can specify it here. 17 | UIApplication.Main(args, null, "AppDelegate"); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /FloatingLabels/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using Xamarin.Forms; 8 | 9 | namespace FloatingLabels 10 | { 11 | // Learn more about making custom code visible in the Xamarin.Forms previewer 12 | // by visiting https://aka.ms/xamarinforms-previewer 13 | [DesignTimeVisible(true)] 14 | public partial class MainPage : ContentPage 15 | { 16 | public MainPage() 17 | { 18 | InitializeComponent(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /FloatingLabels/FloatingLabels.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | true 6 | 7 | 8 | 9 | pdbonly 10 | true 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /FloatingLabels.Android/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with you package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /FloatingLabels/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Xamarin.Forms; 3 | using Xamarin.Forms.Xaml; 4 | 5 | namespace FloatingLabels 6 | { 7 | public partial class App : Application 8 | { 9 | public App() 10 | { 11 | InitializeComponent(); 12 | 13 | MainPage = new MainPage(); 14 | } 15 | 16 | protected override void OnStart() 17 | { 18 | // Handle when your app starts 19 | } 20 | 21 | protected override void OnSleep() 22 | { 23 | // Handle when your app sleeps 24 | } 25 | 26 | protected override void OnResume() 27 | { 28 | // Handle when your app resumes 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /FloatingLabels/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 |