Xamarin Android: Create Left Navigation Drawer Layout

Here are the steps to create a new Xamarin Android Left Navigation Drawer Layout.  

Let’s start,

Step 1 - Open Visual Studio, New Project, Templates, Visual C#, Android, then click Blank App (Android).

Then give Project Name and Project Location.



Step 2

Next we add V7 AppCompat  References. Click Solution Explorer, Project Name, Components, then Right Click Get More Components to select, then popup window is visible. Search the Appcompat and then click to Add to App. 

 
  
 
Step 3 - Next create menu folder. Go to Solution Explorer, Project Name, Resources, Right Click Add New Folder give the name for menu. 

Step 4 - Next go to Solution Explorer, Project Name, Resources, menu, then Right Click Add New Item. Select XML and give the name for menu.xml.

Step 5 - Create two xml for Colors and Styles. Select Solution Explorer, Project Name, Resources, values, then Right Click Add New Item. Select XML give the name for styles and colors.
 
Step 6 - Open menu.xml, then create menu items and give the following code
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <menu  
  3.     xmlns:android="http://schemas.android.com/apk/res/android">  
  4.     <group android:checkableBehavior="single">  
  5.         <item  
  6. android:id="@+id/nav_home"  
  7. android:title="Home" />  
  8.         <item  
  9. android:id="@+id/nav_messages"  
  10. android:title="Messages" />  
  11.         <item  
  12. android:id="@+id/nav_about"  
  13. android:title="About" />  
  14.         <item  
  15. android:id="@+id/nav_FeedBack"  
  16. android:title="FeedBack" />  
  17.     </group>  
  18. </menu>   
Step 7 - Next, open Styles.xml file and then give the following code   
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <style name="Theme.DesignDemo" parent="Base.Theme.DesignDemo"></style>  
  4.     <style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar">  
  5.         <item name="colorPrimary">#2196F3</item>  
  6.         <item name="colorPrimaryDark">#1976D2</item>  
  7.     </style>  
  8. </resources>   
Step 8 - Next, open Colors.xml to create colors 
  1. <?xml version="1.0" encoding="utf-8" ?>  
  2. <resources>  
  3.     <color name="ColorPrimary">#2196F3</color>  
  4.     <color name="ColorPrimaryDark">#1976D2</color>  
  5.     <color name="accent">#E040FB</color>  
  6. </resources>   
Step 9 - Then open Main.axml file and create DrawerLayout and Navigation
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout  
  3.     xmlns:android="http://schemas.android.com/apk/res/android"  
  4.     xmlns:app="http://schemas.android.com/apk/res-auto"  
  5. android:orientation="vertical"  
  6. android:layout_width="match_parent"  
  7. android:fitsSystemWindows="true"  
  8. android:layout_height="match_parent">  
  9.     <android.support.v7.widget.Toolbar  
  10. android:id="@+id/toolbar"  
  11. android:layout_width="match_parent"  
  12. android:layout_height="wrap_content"  
  13. android:minHeight="?attr/actionBarSize"  
  14. android:background="#33B86C"  
  15. app:popupTheme="@style/ThemeOverlay.AppCompat.Light"  
  16. app:layout_scrollFlags="scroll|enterAlways" />  
  17.     <android.support.v4.widget.DrawerLayout  
  18. android:id="@+id/drawer_layout"  
  19. android:layout_height="match_parent"  
  20. android:fitsSystemWindows="true"  
  21. android:layout_width="match_parent">  
  22.         <RelativeLayout  
  23. android:orientation="vertical"  
  24. android:layout_width="match_parent"  
  25. android:layout_height="match_parent" />  
  26.         <android.support.design.widget.NavigationView  
  27. android:id="@+id/nav_view"  
  28. android:layout_height="match_parent"  
  29. android:layout_width="200dp"  
  30. android:layout_gravity="start"  
  31. android:fitsSystemWindows="true"  
  32. app:menu="@menu/menu" />  
  33.     </android.support.v4.widget.DrawerLayout>  
  34. </LinearLayout>   
Step 10 - Next to open MainActivity.cs to give the following code. 
  1. using System;  
  2. using Android.App;  
  3. using Android.Content;  
  4. using Android.Runtime;  
  5. using Android.Views;  
  6. using Android.Widget;  
  7. using Android.OS;  
  8. using V7Toolbar = Android.Support.V7.Widget.Toolbar;  
  9. using Android.Support.V7.App;  
  10. using Android.Support.V4.Widget;  
  11. using Android.Support.Design.Widget;  
  12. namespace Leftdrawerlayout   
  13. {  
  14.     [Activity(Label = "Leftdrawerlayout", Theme = "@style/Theme.DesignDemo", MainLauncher = true, Icon = "@drawable/icon")]  
  15.     public class MainActivity: AppCompatActivity   
  16.     {  
  17.         DrawerLayout drawerLayout;  
  18.         NavigationView navigationView;  
  19.         protected override void OnCreate(Bundle bundle)   
  20.         {  
  21.             base.OnCreate(bundle);  
  22.             SetContentView(Resource.Layout.Main);  
  23.             var toolbar = FindViewById < V7Toolbar > (Resource.Id.toolbar);  
  24.             SetSupportActionBar(toolbar);  
  25.             SupportActionBar.SetDisplayHomeAsUpEnabled(true);  
  26.             SupportActionBar.SetDisplayShowTitleEnabled(false);  
  27.             SupportActionBar.SetHomeButtonEnabled(true);  
  28.             SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_menu);  
  29.             drawerLayout = FindViewById < DrawerLayout > (Resource.Id.drawer_layout);  
  30.             navigationView = FindViewById < NavigationView > (Resource.Id.nav_view);  
  31.         }  
  32.         public override bool OnOptionsItemSelected(IMenuItem item)   
  33.         {  
  34.             switch (item.ItemId)   
  35.             {  
  36.                 case Android.Resource.Id.Home:  
  37.                     drawerLayout.OpenDrawer(Android.Support.V4.View.GravityCompat.Start);  
  38.                     return true;  
  39.             }  
  40.             return base.OnOptionsItemSelected(item);  
  41.         }  
  42.     }  
  43. }  

Step 11 - Then Debug and run the app

 

Finally, we have successfully created Xamarin Android Left Navigation Drawer Layout Application.

X

Build smarter apps with Machine Learning, Bots, Cognitive Services - Start free.

Start Learning Now