Xamarin.Forms - Bottom Tabbed Page Using Shell

In this article, you will learn how to create a Tabbed Page with sub tabs using Shell in Xamarin.Forms.

Introduction

 
Xamarin.Forms - Bottom Tabbed Page Using Shell
 
Xamarin.Forms code runs on multiple platforms - each of which has its own filesystem. This means that reading and writing files is most easily done using the native file APIs on each platform. Alternatively, embedded resources are a simpler solution to distribute data files with an app.
 

Shell

 
Xamarin.Forms Shell reduces the complexity of mobile application development by providing the fundamental features that most mobile applications require. This includes a common navigation user experience, a URI-based navigation scheme, and an integrated search handler.
 

Creating a Bottom Tabbed Page Using Xamarin.Forms Shell

 
Let us now learn how we can use Xamarin.Forms Shell to create a bottom tabbed page. We will also create some subtabs in it.
 
Prerequisites
  • Visual Studio 2019 (Windows or Mac)
  • Xamarin.Forms 4.0 Updated

 

Setting up a Xamarin.Forms Project

 
Start by creating a new Xamarin.Forms project. You wíll learn more by going through the steps yourself.
 
Visual Studio 2019 has many options in the opening window. Clone or check out the code from any repository or open a project or solution for your computer.
 
Now, you need to click "Create a new project".
 
Xamarin.Forms - Bottom Tabbed Page Using Shell
 
Now, filter by Project Type: Mobile
 
Choose the Mobile App (Xamarin. forms) project under C# and Mobile.
 
Name your app. You probably want your project and solution to use the same name as your app. Put it on your preferred location for projects and click "Create".
 
Now, select the blank app and target platforms - Android, iOS, and Windows (UWP).
 
Subsequently, go to the solution. In there, you get all the files and sources of your project (.NET Standard). Now, select the XAML page and double-click to open the MainPage.Xaml page.
 
You now have a basic Xamarin.Forms app. Click the "Play" button to try it out.
 
Note - Your Xamarin.Forms version should be updated 4.0
 

Bottom Tabbed Page

 
This code example is for Bottom Tabbed Page.
 
Method #1 - AppShell.Xaml
  1. <TabBar>    
  2.         <Tab Title="Feed"    
  3.              Icon="tab_feed.png">    
  4.             <ShellContent Icon="tab_feed.png">    
  5.                 <views:FeedPage/>    
  6.             </ShellContent>    
  7.                 
  8.         </Tab>    
  9.         <Tab Title="About"    
  10.              Icon="tab_about.png">    
  11.             <ShellContent>    
  12.                 <views:AboutPage />    
  13.             </ShellContent>    
  14.         </Tab>    
  15. </TabBar>   
Method #2 - AppShell.Xaml
  1. <TabBar>    
  2.         <Tab Title="Feed Page" Icon="tab_feed.png">    
  3.             <ShellContent  ContentTemplate="{DataTemplate views:FeedPage}">    
  4.                 </ShellContent>    
  5.         </Tab>    
  6.         <Tab Title="About Page" Icon="tab_about.png" >    
  7.             <ShellContent ContentTemplate="{DataTemplate views:AboutPage}">    
  8.                 </ShellContent>    
  9.         </Tab>    
  10. </TabBar>  
Method #3 - AppShell.xaml
  1. <TabBar>    
  2.         <views:FeedPage Icon="tab_feed.png" Title="Feed Page"/>    
  3.         <views:AboutPage Icon="tab_about.png" Title="About Page"/>    
  4. </TabBar>   
Try it out.
 
Xamarin.Forms - Bottom Tabbed Page Using Shell 
 

Sub Tab view

 
This is the code example for Sub Tabbed page.
 
AppShell.Xaml
  1. <TabBar>  
  2.         <Tab Title="Feed Page" Icon="tab_feed.png">  
  3.             <ShellContent Title="Feed"  ContentTemplate="{DataTemplate views:FeedPage}">  
  4.                 </ShellContent>  
  5.             <ShellContent Title="News"  ContentTemplate="{DataTemplate views:NewsPage}">  
  6.                 </ShellContent>  
  7.         </Tab>  
  8.         <Tab Title="About Page" Icon="tab_about.png" >  
  9.             <ShellContent ContentTemplate="{DataTemplate views:AboutPage}">  
  10.                 </ShellContent>  
  11.         </Tab>  
  12.         </TabBar>  
Click the "Play" button to try it out.
 
Xamarin.Forms - Bottom Tabbed Page Using Shell
 
I hope you have understood how to create a Tabbed page and build subtabs in it using Shell in Xamarin.Forms.
 
Thanks for reading! Please share your comments and feedback. Happy Coding :)