RedCorners.Forms

RedCorners.Forms brings some neat utilities to your Xamarin.Forms applications.

NuGet: https://www.nuget.org/packages/RedCorners.Forms

Sidebar Video: https://www.youtube.com/watch?v=NPyZ_N5LcoU&feature=youtu.be

TitleBar Video: https://www.youtube.com/watch?v=EUuuqSCjZ_Y

TabbedContentPage/TabBar Video: https://www.youtube.com/watch?v=LySXGOvjoBs

Features Summary

  • Content views and view models can know when they appear and disappear if they derive from ContentView2 and BindableModel.
  • MessagingCenter on steroids: Extension methods to easily define messages on Enums and strings with a very simple and intuitive syntax.
  • UpdateProperties(): Signal the update of all of a view model’s properties.
  • Button2: A button that properly reacts to press, release and click gestures.
  • HorizontalShadow, HorizontalShadow2: Horizontal shadow views you can use to give depth to your UI.
  • PageCommand: Make a Button open a new page directly from XAML without any code behind.
  • PopCommand: Make a Button pop a modal page directly from XAML without any code behind.
  • TitleBar: A very powerful and custom titlebar that looks nice and identical across both iOS and Android.
  • SideBar: A very powerful and flexible sidebar that opens up from any direction, with customizable width, height, background color, slide and fade animations and more!
  • TabBar: A very powerful and cross-platform Tabbar.
  • TitledContentView: A content view that has a dynamic titlebar.
  • TabbedContentPage: A content page that has a dynamic tabbar.
  • Notch padding compensation: Dynamically adjust the paddings necessary on devices with the notch.
  • GetPage(): An extension method which allows an Element to find its parent Page.
  • GetAllChildren(): An extension method which allows a VisualElement to find all its children recursively.
  • Application2: A new Application base class for Xamarin.Forms which makes bootstrapping apps much easier.

SideBar is a powerful SideBar with the following features: - Customizable width as a GridLength. Supports Star values (i.e. width proportional to the screen size) as well as absolute values. - Supports any Xamarin.Forms element as its content - FadeIn effect with customizable duration - SlideIn/Out effects with customizable duration - Customizable side (you can specify which side of the screen it sticks to) - Swipe gestures support

TitleBar (Read More)

TitleBar is an awesome component that lets you create a title bar any way you want. It looks identical on both platform and you can customize: - The place of the TitleBar, i.e. Top or Bottom - Back button behavior (as Command with CommandParameter) - Back button image (as ImageSource) - Automatically adjust paddings for iPhone X series - Background view. You can put any Image on the background, or even use custom controls like Lottie to create animations. - ToolBar, which supports any XAML element. Stack your buttons by putting a bunch of ImageButtons inside a StackLayout - Title text - Height

TabBar

TabBar is a very flexible custom tab bar with the following features: - Choose between the three button styles of Image only, Text only, and ImageText - Customizable opacities, images and text colors for pressed/released states - Horizontal or Vertical alignment of buttons - Can be placed anywhere - Can be used for any purpose which deals with selecting between multiple choices (like a radio button) - TabBarItems can be disabled if their individual Command bindable properties reject CanExecute requests - Looks nice in XAML!

Application2 (Read More)

Application2 is an extended version of Xamarin.Forms’ Application class which makes it easier to bootstrap applications.

ContentPage2

RedCorners.Forms provides ContentPage2, which is ContentPage on steroids. Some of its notable features are: - Fixing the paddings on iPhone X series - Bindable property to change the status bar style on the iOS - Bindable property to make the status bar translucent on Android - Bindable properties for changing Android’s status bar color, and paddings - Letting BindableModel contexts know when the page appears and disappears

ContentView2

ContentView2 is like ContentPage2, but is based on a ContentView instead. It offers properties that fix the paddings on iPhone X series.

BindableModel

BindableModel is intended to be used as the base class for view models. When used with ContentPage2 and ContentView2 it gains the power to know when its views and pages appear and disappear.

PageCommand

PageCommand is a Command that when executed, it can show a page or activate a new one based on a supplied type.

PopCommand

PopCommand is a Command that dismisses the current popup page.

Getting Started

Installing the NuGet

In a Xamarin.Forms solution with a Shared Project structure, install the NuGet separately on your iOS and Android projects. Note: This is not intended to be installed on a .NET Standard Xamarin Forms project.

Demo Project

To have a quick demo of the project, run the RedCorners.Demo.iOS or RedCorners.Demo.Android projects from the RedCorners.Forms.sln solution.