All Projects → ahoefling → Tabstrip

ahoefling / Tabstrip

Licence: mit
Tab Strip control for Xamarin.Forms

Projects that are alternatives of or similar to Tabstrip

Reactiveui
An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.
Stars: ✭ 6,709 (+26736%)
Mutual labels:  xamarin, xamarin-forms
Brainpowerapp
A visual memory training game, a mobile game made with Xamarin for both Android and IOS .
Stars: ✭ 17 (-32%)
Mutual labels:  xamarin, xamarin-forms
Xamarin Bluetooth Le
Bluetooth LE plugin for Xamarin
Stars: ✭ 419 (+1576%)
Mutual labels:  xamarin, xamarin-forms
Awesome Xamarin
A curated list of awesome Xamarin iOS/Android and Xamarin Forms bindings, ports, frameworks and much more!
Stars: ✭ 394 (+1476%)
Mutual labels:  xamarin, xamarin-forms
Xf Material Library
A Xamarin Forms library for implementing Material Design
Stars: ✭ 537 (+2048%)
Mutual labels:  xamarin, xamarin-forms
Professionalcsharp7
Code samples for the book Professional C# 7 and .NET Core 2.0 (with updates for 2.1), Wrox Press
Stars: ✭ 403 (+1512%)
Mutual labels:  xamarin, xamarin-forms
Realm Dotnet
Realm is a mobile database: a replacement for SQLite & ORMs
Stars: ✭ 927 (+3608%)
Mutual labels:  xamarin, xamarin-forms
Xamarin.forms.inputkit
CheckBox, Radio Button, Labeled Slider, Dropdowns etc.
Stars: ✭ 372 (+1388%)
Mutual labels:  xamarin, xamarin-forms
Xamarin.forms.pancakeview
An extended ContentView for Xamarin.Forms with rounded corners, borders, shadows and more!
Stars: ✭ 744 (+2876%)
Mutual labels:  xamarin, xamarin-forms
Smarthotel360 Mobile
SmartHotel360 Mobile
Stars: ✭ 535 (+2040%)
Mutual labels:  xamarin, xamarin-forms
Xamarinmediamanager
Cross platform Xamarin plugin to play and control Audio and Video
Stars: ✭ 647 (+2488%)
Mutual labels:  xamarin, xamarin-forms
Xamarin.forms
Xamarin.Forms Official Home
Stars: ✭ 5,485 (+21840%)
Mutual labels:  xamarin, xamarin-forms
Gittrends
A iOS and Android app to monitor the views and clones of your GitHub repos
Stars: ✭ 388 (+1452%)
Mutual labels:  xamarin, xamarin-forms
Hotreload
Xamarin.Forms XAML hot reload, live reload, live xaml
Stars: ✭ 407 (+1528%)
Mutual labels:  xamarin, xamarin-forms
Xamarin Forms Samples
Sample apps built using the Xamarin.Forms framework
Stars: ✭ 4,024 (+15996%)
Mutual labels:  xamarin, xamarin-forms
Restaurant App
Restaurant App 🍔 is a sample open-source e-Commerce 🛒 application for ordering foods, powered by polyglot microservices architecture and cross-platform development including mobile and web
Stars: ✭ 471 (+1784%)
Mutual labels:  xamarin, xamarin-forms
Mvvmcross
The .NET MVVM framework for cross-platform solutions, including Xamarin.iOS, Xamarin.Android, Windows and Mac.
Stars: ✭ 3,594 (+14276%)
Mutual labels:  xamarin, xamarin-forms
Ammyui
Ammy language repository
Stars: ✭ 356 (+1324%)
Mutual labels:  xamarin, xamarin-forms
Xamarin.forms.googlemaps
Map library for Xamarin.Forms using Google maps API
Stars: ✭ 483 (+1832%)
Mutual labels:  xamarin, xamarin-forms
Docs Archive
Xamarin docs archive
Stars: ✭ 553 (+2112%)
Mutual labels:  xamarin, xamarin-forms

TabStrip for Xamarin.Forms

Tab Strip control for Xamarin.Forms

Screenshots

iOS Android UWP
uwp uwp uwp

Setup

  • Available on NuGet: NuGet
  • Install into your PCL/.NET Standard and Client Projects

Build

Platform Support

TabStrip is available for use in Xamarin.Forms only targetting the following supported platforms.

Platform Supported Version
Xamarin.Android Yes API 15 +
Xamarin.iOS Yes iOS 10 +
Xamarin 10 UWP Yes 16299 +
macOS No
linux No
tvOS No
watchOS No

Usage

UWP (Known Issue)

Add CarouselView.FormsPlugin as a nuget reference otherwise it will not work

iOS, Droid and UWP

Initialize the renderers in your iOS and Android projects

Xamarin.Forms.Init();
TabStripRenderer.Init();

XAML:

Add the namespace in the xmlns:

xmlns:plugin="clr-namespace:TabStrip.FormsPlugin.Abstractions;assembly=TabStrip.FormsPlugin.Abstractions"

Add the control:

<plugin:TabStripControl Position="{Binding CurrentPosition}"
                        ItemsSource="{Binding Views}" />

Add the following code to your BindingContext. The ItemsSource property needs to be mapped to an IEnumerable<TabModel> where TabModel is provided in the TabStrip.FormsPlugin.Abstractions namespace.

BindingContext = new 
{
	Views = new ObservableCollection<TabModel>(new [] 
	{
		new TabModel
        {
            Header = new Tuple<View, object>(new HeaderView(), new { Title = "Tab 1" }),
            View = new Tuple<View, object>(new HelloView(), new HelloPageModel())
        },
        new TabModel
        {
            Header = new Tuple<View, object>(new HeaderView(), new { Title = "Tab 2" }),
            View = new Tuple<View, object>(new HelloView(), new HelloPageModel())
        }

	});
};

Bindable Properties

Property Description Default Value
Position Gets or Sets current tab position of the tab strip. 0
ItemsSource Gets or Sets the IEnumerable<TabModel> where the TabModel defines the Tab Name and the View/ViewModel relationship for each Tab null
ShowArrows Gets or Sets the bool value that determines if navigation arrows will appear on top of the content area fakse
LeftArrow Gets or Sets the ImageSource for the LeftArrow which is displayed when the tab can navigate left Embedded Left Arrow Image
RightArrow Gets or Sets the ImageSource for the RightArrow which is displayed when the tab can navigate right Embedded Right Arrow Image

Roadmap

Minimal Viable Product

  • Implement basic cross-platform Tabstrip that supports Android and iOS via Xamarin.Forms

Windows Support

  • Implement Windows UWP support via Xamarin.Forms

macOS Support

  • Implement macOS support via Xamarin.Forms

linux Support

  • Implement linux support via Xamarin.Forms

Native Support

  • Implement Xamarin Navite support so it can be consumed in a Xamarin Native project instead of Xamarin.Forms. This will require a larger code re-write since it will be using Xamarin.Forms wrappers prior to this release

Created By: @Andrew_Hoefling

History

Xamarin Dependencies

Thanks to other plugin creators to make this plugin possible

License

The MIT License (MIT) see License File

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].