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
andBindableModel
. MessagingCenter
on steroids: Extension methods to easily define messages onEnums
andstring
s 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 anElement
to find its parentPage
.GetAllChildren()
: An extension method which allows aVisualElement
to find all its children recursively.Application2
: A new Application base class for Xamarin.Forms which makes bootstrapping apps much easier.
SideBar
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)
- TabBarItem
s 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.