

Beautiful Tabs with Xamarin Community Toolkit TabView | Xamarin Blog
source link: https://devblogs.microsoft.com/xamarin/xamarin-community-toolkit-tabview/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Beautiful Tabs with Xamarin Community Toolkit TabView

Gerald
February 24th, 2021
One of the hardest parts of apps to customize is the tab bar. To overcome this, we’ve added the TabView
to the Xamarin Community Toolkit. With the TabView
you have full control over the look-and-feel of the tab bar. In this blogpost we’ll learn what it’s all about.
Xamarin.Forms TabbedPage
The way to implement a tab bar in Xamarin.Forms is by using a TabbedPage. This works great and maps to the native equivalents on all platforms supported, but that is just the thing: it uses the native look and feel. Over the years we’ve surfaced more APIs that allow you to style the tab bar more, but the native platforms kept limiting us. There was a big ask for having a bit action button floating on that tab bar or being able to scroll through tabs, have animations, and more!
To be able to provide you with all the above, and more, there is now… TabView
!
TabView: All You’ve Ever Wanted from a Tab Bar
By creating a tab bar from all Xamarin.Forms elements a whole new world opens. We’re able to bind items to tabs, scroll through them (both the pages as the actual tabs!), have animations, badges, and most of all… We can implement that big, floating, rounded action button. The TabView
is available in the Xamarin Community Toolkit, today! But before you go off and install it right away, let me show you a couple of the cool things it can do.
Basic Usage
Basic usage of the TabView
looks like below. You can already see so many options that are not available on the default tab bar. Placement top or bottom, background color, specify a height, enable an indicator and give it a color. It’s crazy.
If we look a little bit closer, we see that we have a TabView at the root and inside of the you’ll need to use TabViewItem
. Those items even have more properties to customize. But more importantly; inside of these items you will specify the content. So, in practice, the TabViewItem
s will act as your actual tabs.
<Grid>
<xct:TabView
TabStripPlacement="Bottom"
TabStripBackgroundColor="Blue"
TabStripHeight="60"
TabIndicatorColor="Yellow"
TabContentBackgroundColor="Yellow">
<xct:TabViewItem
Icon="triangle.png"
Text="Tab 1"
TextColor="White"
TextColorSelected="Yellow"
FontSize="12">
<Grid
BackgroundColor="Gray">
<Label
HorizontalOptions="Center"
VerticalOptions="Center"
Text="TabContent1" />
</Grid>
</xct:TabViewItem>
<xct:TabViewItem
Icon="circle.png"
Text="Tab 2"
TextColor="White"
TextColorSelected="Yellow"
FontSize="12">
<Grid>
<Label
HorizontalOptions="Center"
VerticalOptions="Center"
Text="TabContent2" />
</Grid>
</xct:TabViewItem>
</xct:TabView>
</Grid>
When running the above code, it will show up like in the screenshot below.
See this full sample code in context (or run it!) in the Xamarin Community Toolkit sample app.
TabView With Action Button
I’ve already mentioned it: the floating action button that looks so fancy in all those designs. You can see an example in the screenshot below.
To achieve this, we can use the following code. This is again taken from an example in the Xamarin Community Toolkit sample app. The code has been adapted to show just the crucial things here.
<xct:TabView
TabStripPlacement="Bottom"
TabStripBackgroundColor="Blue"
TabStripHeight="60"
TabIndicatorColor="Yellow"
TabContentBackgroundColor="Yellow">
<!-- First TabViewItem -->
<xct:TabViewItem
Text="Tab 2"
Icon="circle.png"
ControlTemplate="{StaticResource FabTabItemTemplate}"
Style="{StaticResource TabItemStyle}"
TabTapped="OnFabTabTapped" />
<!-- Third TabViewItem -->
</xct:TabView>
The thing you might notice about this code is that the middle action button is just another TabViewItem
. But by not assigning any content and instead assigning an event to the TabTapped
property, you suddenly gain a button instead of another tab. Another thing that stands out is that you can use a ControlTemplate
to style the TabViewItem
any way you want. I’ll admit that the tabs shown in this post might need a bit more styling…
What About Lazy Loading?
That is a question we hear a lot, and with good reason! Lazy loading is not built into the TabView directly, however, also in the Xamarin Community Toolkit, we have the LazyView. With LazyView you can make any view lazy loading, including the ones used in TabView. LazyView isn’t out in stable yet at the time of writing this blog but will be part of version 1.1 and available in the nightly pre-release versions.
And Much, Much More…
I wish I could go over all the great stuff that is in the TabView
, but where’s the fun in that? I invite you to go give it a try yourself and let us know. If you want to learn more, make sure to go check out the Docs page, the sample app that we have for the Xamarin Community Toolkit or the video down below where I talk with Javier about all the things that you can do with this.
I can’t wait to see what beautiful designs you can produce!
See it in Action!
If you want to see the TabView in action, right now, check out the video of the Xamarin Show below. In this episode I have Javier as my guest who shows everything that is possible.
Gerald Versluis
Senior Software Engineer, Xamarin Community Toolkit
Follow
Recommend
-
58
Chrome Web StoreCategoriesAllFeaturesClearRuns OfflineBy GoogleFreeA...
-
11
Xamarin Community Toolkit Hacktoberfest 2020 RecapXamarin Community Toolkit Hacktoberfest 2020 Recap
-
13
Join Hacktoberfest at the Xamarin Community ToolkitJoin Hacktoberfest at the Xamarin Community Toolkit
-
20
Better MVVM with MVVM Helpers (or Xamarin Community Toolkit)Better MVVM with MVVM Helpers (or Xamarin Community Toolkit) - YouTube Back Search
-
13
Description This episode is a bit of a mind-boggler. We will learn about the MultiConverter, which allows you to chain multiple ValueConverters together. But we're not stopping there! We will also see the VariableMultiValueC...
-
11
Xamarin Community Toolkit: A Must-Have Xamarin LibraryGerald
-
18
New Features and Improvements in Telerik TabView for XamarinTelerik TabView for Xamarin can be used to implement tab-based navigation in your Xamarin applications. You can add tabs in your app and display different content in each tab. In add...
-
13
-
9
How to change TabView color in SwiftUI Table of Contents In iOS 16, SwiftUI got a way to ch...
-
11
SwiftUI 学习记录 - 切换 TabView 的 tab 时触发震动反馈 2023-02-06...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK