Skip to content

guntidheerajkumar/Sharpnado.Presentation.Forms

This branch is 18 commits behind roubachof/Sharpnado.Presentation.Forms:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e309b71 · Jun 10, 2020
Jan 28, 2019
Jun 10, 2020
Jun 10, 2020
Jun 10, 2020
Mar 30, 2020
Apr 17, 2020
Jul 26, 2018
Apr 28, 2020
Apr 24, 2020
Apr 24, 2020
Apr 24, 2020
Jan 22, 2020
Oct 21, 2018
Nov 27, 2019
Apr 24, 2020
Apr 8, 2020

Repository files navigation

Sharpnado.Presentation.Forms

Lib Version
Sharpnado.Presentation.Forms Sharpnado.Presentation.Forms
Sharpnado.Forms.HorizontalListView Sharpnado.Forms.HorizontalListView
Platform Build Status
Android Build status
iOS Build status

Sample App: the Silly! app

All the following components are presented in the Silly! app in the following repository:

https://github.com/roubachof/Xamarin-Forms-Practices

If you want to know how to use the components, it's the best place to start.

Initialization

IMPORTANT: On platform projects, call SharpnadoInitializer.Initialize() after Xamarin.Forms.Forms.Init() and before LoadApplication(new App()).

Featured Components

Xamarin Forms custom components and renderers starring:

  • Fully customizable
  • Stylable
  • Component oriented architecture
  • Layout your tabs and ViewSwitcher as you want
Bottom bar tabs Fixed tabs
BottomTabItem UnderlinedTabItem
Scrollable tabs Custom tabs
TabType.Scrollable inherit from TabItem
  • 4 built-in themes: AcrylicBlur/Acrylic/Dark/Light
  • 3 Blur Styles: Light/ExtraLight/Dark
  • Based on RealtimeBlurView on Android and UIVisualEffectView on iOS
  • Dark elevation
  • LightBackground color
  • CornerRadius
  • Performance
AcrylicBlur Light style AcrylicBlur Dark style
Dynamic theming Acrylic theme
  • Carousel layout
  • Column count
  • Infinite loading with Paginator component
  • Snapping on first or middle element
  • Padding and item spacing
  • Handles NotifyCollectionChangedAction Add, Remove and Reset actions
  • View recycling
  • RecyclerView on Android
  • UICollectionView on iOS
  • This implementation is in fact very close in terms of philosophy and implementation to what will provide the future Xamarin CollectionView.

  • Column count (if equal to 1 then you have a classic ListView ;)
  • Infinite loading with Paginator component
  • Drag and Drop
  • Padding and item spacing
  • Handles NotifyCollectionChangedAction Add, Remove and Reset actions
  • View recycling

  • Handles error with custom messages and icons
  • Handles empty states
  • Show snackbar errors for refresh scenarios (if data is already shown)
  • Handles retry with button
  • Support Xamarin.Forms.Skeleton
  • Can override any state views with your own custom ones

It's available in 2 Nuget flavors:

  • Sharpnado.Presentation.Forms (which include several others components like the increeeedible TaskLoaderView)
  • Sharpnado.Forms.HorizontalListView (HorizontalListView only with only TapCommand and MaterialFrame)

IMPORTANT: On platform projects, call SharpnadoInitializer.Initialize() after Xamarin.Forms.Forms.Init() and before LoadApplication(new App()).

Those components are used and tested in the Silly! app: https://github.com/roubachof/Xamarin-Forms-Practices.

Open Source licenses and inspirations

About

Presentation layer: Xamarin Forms custom components and renderers

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.0%
  • PowerShell 1.0%