Sharpnado.Tabs.Maui
3.2.1
dotnet add package Sharpnado.Tabs.Maui --version 3.2.1
NuGet\Install-Package Sharpnado.Tabs.Maui -Version 3.2.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sharpnado.Tabs.Maui" Version="3.2.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Sharpnado.Tabs.Maui --version 3.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sharpnado.Tabs.Maui, 3.2.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Sharpnado.Tabs.Maui as a Cake Addin #addin nuget:?package=Sharpnado.Tabs.Maui&version=3.2.1 // Install Sharpnado.Tabs.Maui as a Cake Tool #tool nuget:?package=Sharpnado.Tabs.Maui&version=3.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Pure MAUI Tabs
- Fixed tabs (android tabs style)
- Scrollable tabs
- Vertical tabs
- Material design tabs (top and leading icon)
- Lazy and Delayed views
- Support for SVG images
- Segmented tabs
- Custom shadows (neumorphism ready)
- Badges on tabs
- Circle button in tab bar
- Bottom bar tabs (ios tabs style)
- Custom tabs (be creative just implement TabItem)
- Independent ViewSwitcher
- Bindable with ItemsSource
Installation
- In Core project, in
MauiProgram.cs
:
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp()
.UseSharpnadoTabs(loggerEnabled: false);
}
Usage
First create a TabHostView
which will contains all your tabs:
<tabs:TabHostView WidthRequest="250"
HeightRequest="60"
Padding="20,0"
HorizontalOptions="Center"
BackgroundColor="{StaticResource Gray900}"
CornerRadius="30"
IsSegmented="True"
Orientation="Horizontal"
SegmentedOutlineColor="{StaticResource Gray950}"
SelectedIndex="{Binding Source={x:Reference Switcher}, Path=SelectedIndex, Mode=TwoWay}"
TabType="Fixed">
<tabs:TabHostView.Shadow>
<Shadow Brush="{StaticResource Primary}"
Opacity="0.7"
Radius="30"
Offset="0,10" />
</tabs:TabHostView.Shadow>
<tabs:BottomTabItem Style="{StaticResource BottomTab}" Label="M" />
<tabs:BottomTabItem Style="{StaticResource BottomTab}" Label="A">
<tabs:BottomTabItem.Badge>
<tabs:BadgeView BackgroundColor="{StaticResource Tertiary}" Text="new" />
</tabs:BottomTabItem.Badge>
</tabs:BottomTabItem>
<tabs:UnderlinedTabItem FontFamily="OpenSansExtraBold"
Label="U"
LabelSize="36"
SelectedTabColor="{StaticResource Primary}"
UnselectedLabelColor="{StaticResource White}" />
<tabs:BottomTabItem Style="{StaticResource BottomTab}"
Padding="0,0,10,0"
Label="I">
<tabs:BottomTabItem.Badge>
<tabs:BadgeView BackgroundColor="{StaticResource Tertiary}" Text="2" />
</tabs:BottomTabItem.Badge>
</tabs:BottomTabItem>
</tabs:TabHostView>
Then bind the SelectedIndex
with a ViewSwitcher
that will accordingly select your views.
<tabs:ViewSwitcher x:Name="Switcher"
Grid.RowSpan="3"
Margin="0"
Animate="True"
SelectedIndex="{Binding SelectedViewModelIndex, Mode=TwoWay}">
<tabs:DelayedView x:TypeArguments="views:TabM"
AccentColor="{StaticResource Primary}"
Animate="True"
BindingContext="{Binding HomePageViewModel}"
UseActivityIndicator="True" />
<tabs:DelayedView x:TypeArguments="views:TabA"
AccentColor="{StaticResource Primary}"
Animate="True"
UseActivityIndicator="True" />
<tabs:DelayedView x:TypeArguments="views:TabU"
AccentColor="{StaticResource Primary}"
Animate="True"
UseActivityIndicator="True" />
<tabs:LazyView x:TypeArguments="views:TabI" Animate="True" />
</tabs:ViewSwitcher>
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-android34.0 is compatible. net8.0-browser was computed. net8.0-ios was computed. net8.0-ios18.0 is compatible. net8.0-maccatalyst was computed. net8.0-maccatalyst18.0 is compatible. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net8.0-windows10.0.19041 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.Maui.Controls (>= 8.0.82)
- Sharpnado.TaskMonitor (>= 1.0.2)
-
net8.0-android34.0
- Microsoft.Maui.Controls (>= 8.0.82)
- Sharpnado.TaskMonitor (>= 1.0.2)
-
net8.0-ios18.0
- Microsoft.Maui.Controls (>= 8.0.82)
- Sharpnado.TaskMonitor (>= 1.0.2)
-
net8.0-maccatalyst18.0
- Microsoft.Maui.Controls (>= 8.0.82)
- Sharpnado.TaskMonitor (>= 1.0.2)
-
net8.0-windows10.0.19041
- Microsoft.Maui.Controls (>= 8.0.82)
- Sharpnado.TaskMonitor (>= 1.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (3)
Showing the top 3 popular GitHub repositories that depend on Sharpnado.Tabs.Maui:
Repository | Stars |
---|---|
RadekVyM/SimpleToolkit
SimpleToolkit is a .NET MAUI library of helpers and simple, fully customizable controls, such as SimpleShell - custom Shell implementation that allows you to create unique navigation experiences.
|
|
roubachof/Sharpnado.CollectionView
A performant list view supporting: grid, horizontal and vertical layout, drag and drop, and reveal animations.
|
|
MoneyFox/MoneyFox
A way to make budgeting easy. A basic idea for the community, made even better by the community.
|
Fix errors when styling tab host view.