HTabBar 1.0.0.8

dotnet add package HTabBar --version 1.0.0.8
NuGet\Install-Package HTabBar -Version 1.0.0.8
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="HTabBar" Version="1.0.0.8" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HTabBar --version 1.0.0.8
#r "nuget: HTabBar, 1.0.0.8"
#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 HTabBar as a Cake Addin
#addin nuget:?package=HTabBar&version=1.0.0.8

// Install HTabBar as a Cake Tool
#tool nuget:?package=HTabBar&version=1.0.0.8

Xamarin.Forms Custom HTabbar Control

Easily create customizable tabbed pages with options for top or bottom positioning, customizable header height, color, and content, tab page/content change events, and more! Perfect for creating a seamless user experience.

Installation

The control can be installed via NuGet package manager. Search for HTabBar and install into your project.

Usage

To use the HTabControl in your XAML pages, add the following namespace to your XAML file:

 xmlns:htab="clr-namespace:Xam.HTabView.Control;assembly=HTabBar"
<htab:HTabControl
    x:Name="MyHTabControl"
    HeaderColor="Gray"
    SelectedIndex="{Binding Index}">
    <htab:HTabControl.HTabPages>
        <htab:HTabPage>
            <htab:HTabPage.Header>
                <htab:HTabHeader Title="Tab1">
                </htab:HTabHeader>
            </htab:HTabPage.Header>
            <htab:HTabPage.CustomContentPage>
                <local:Tab1ContentPage></local:Tab1ContentPage>
            </htab:HTabPage.CustomContentPage>
        </htab:HTabPage>
        <htab:HTabPage>
            <htab:HTabPage.Header>
                <htab:HTabHeader IsVisible="False">
                    <Label Text="Tab2"></Label>
                </htab:HTabHeader>
            </htab:HTabPage.Header>
            <htab:HTabPage.Content>
                <StackLayout>
                    <Label Text="This Page Displays Tab2 Content"
                            VerticalOptions="CenterAndExpand" 
                            HorizontalOptions="CenterAndExpand" />
                </StackLayout>
            </htab:HTabPage.Content>
        </htab:HTabPage>
        <htab:HTabPage>
            <htab:HTabPage.Header>
                <htab:HTabHeader>
                    <Label Text="Tab3"></Label>
                </htab:HTabHeader>
            </htab:HTabPage.Header>
            <htab:HTabPage.Content>
                <StackLayout>
                    <Label Text="This Page Displays Tab3 Content"
                            VerticalOptions="CenterAndExpand" 
                            HorizontalOptions="CenterAndExpand" />
                </StackLayout>
            </htab:HTabPage.Content>
        </htab:HTabPage>
        <htab:HTabPage>
            <htab:HTabPage.Header>
                <htab:HTabHeader>
                    <Label Text="Tab4"></Label>
                </htab:HTabHeader>
            </htab:HTabPage.Header>
            <htab:HTabPage.Content>
                <StackLayout>
                    <Label Text="This Page Displays Tab4 Content"
                            VerticalOptions="CenterAndExpand" 
                            HorizontalOptions="CenterAndExpand" />
                </StackLayout>
            </htab:HTabPage.Content>
        </htab:HTabPage>
    </htab:HTabControl.HTabPages>
</htab:HTabControl>

Properties

The following properties are available for HTabControl:

  • HeaderColor (Color): Color of the tab header
  • SelectedIndex (int): Index of the currently selected tab
  • HTabPages (ObservableCollection<HTabPage>): Collection of tab pages
  • HeaderFontFamily: The font family to be used for the header titles.
  • HeaderFontSize: The font size to be used for the header titles.
  • HeaderTextColor: The color to be used for the header titles.
  • TabBarHeight: The height of the tab bar.
  • IsPanEnabled: A boolean indicating whether or not swiping between tabs is enabled.

Future Goals:

  • Add support for more header customization options such as font color, background color, and more.
  • Implement additional tab transition animations for a more visually dynamic user experience.
  • Explore the possibility of adding more tab positioning options beyond top and bottom.
  • Continuously update and maintain the package to ensure compatibility with the latest Xamarin.Forms updates and enhancements.

Contributing

Contributions to this project are welcome! If you find a bug or have an idea for a new feature, please open an issue or submit a pull request.

License

This project is licensed under the MIT License MIT

Support

For support, email WebsiterzTech@gmail.com.

Credit

This control is based on the original idea by Rajesh Angappan. Significant modifications and additions have been made by myself.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0.8 188 4/22/2023
1.0.0.7 155 4/9/2023
1.0.0.6 156 4/7/2023
1.0.0.3 785 7/8/2020
1.0.0.1 432 5/25/2020

Fixed remove tab issue and fixed sizing on selector when adding a tab.