Lib | Version |
---|---|
Sharpnado.Presentation.Forms | |
Sharpnado.Forms.HorizontalListView |
Platform | Build Status |
---|---|
Android | |
iOS |
Xamarin Forms custom components and renderers starring:
- Fully customizable
- Stylable
- Component oriented architecture
- Layout your tabs and
ViewSwitcher
as you want
</tr>
Fixed tabs | Bottom bar tabs | Scrollable tabs |
---|---|---|
UnderlinedTabItem | BottomTabItem | TabType.Scrollable |
Circle button | Underline all | Custom tabs |
---|---|---|
TabButton | UnderlineAllTab=True | inherit from TabItem |
- 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 AndroidUICollectionView
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
- Don't show activity loader for refresh scenarios (if data is already shown)
- Handles retry with button
- Pure Xamarin Forms view: no renderers
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 onlyTapCommand
andMaterialFrame
)
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.
- Special thanks to Daniel John Causer (https://causerexception.com) for inspiring the horizontal list.
- Thanks to alex dunn for his
MaterialFrame
idea. - Thanks to Vladislav Zhukov (https://github.com/mrxten/XamEffects) for its
TapCommand
andTouchFeedbackColor
effects, Copyright (c) 2017 Vladislav Zhukov, under MIT License (MIT). - I greet his grace Stephen Cleary (https://github.com/StephenCleary) who cast his holy words on my async soul (https://www.youtube.com/watch?v=jjaqrPpdQYc).
NotifyTask
original code, Copyright (c) 2015 Stephen Cleary, under MIT License (MIT).