Tutorial Xamarin Android : Membuat Navigation Drawer Part 2 - Hallo sahabat Dev-Create, Pada Artikel yang anda baca kali ini dengan judul Tutorial Xamarin Android : Membuat Navigation Drawer Part 2, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi postingan Artikel animasi fragment, Artikel fragment menu, Artikel list view menu fragment, Artikel multi fragment, Artikel navigasi fragment, Artikel tutorial xamarin, Artikel xamarin android, Artikel xamarin android fragment, yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : Tutorial Xamarin Android : Membuat Navigation Drawer Part 2
link : Tutorial Xamarin Android : Membuat Navigation Drawer Part 2

Baca juga


Tutorial Xamarin Android : Membuat Navigation Drawer Part 2


Yap, melajutkan tutorial sebelumnya tentang Navigation Drawer pada xamarin android, next kita akan menambahkan beberapa langkah lagi ya, bagi kalian yang ketinggalan bisa mengikuti tutorial part 1 di Tutorial Xamarin Android : Membuat Navigation Drawer Part 1.

Setelah anda mengikuti langkah-langkah pada part 1, sekarang ikuti langkah selanjutnya.

Langkah 13
Buatlah sebuah fragment dengan nama HomeFragment.cs dengan cara klik kanan pada project anda lalu Pilih add new -> pilih fragment -> Berikan nama dengan HomeFragment.cs lalu masukan code seperti berikut

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Widget;

namespace TutorialNavigationDrawer
{
 public class HomeFragment : Android.Support.V4.App.Fragment
 {
  public override void OnCreate(Bundle savedInstanceState)
  {
   base.OnCreate(savedInstanceState);

   // Create your fragment here
  }

  public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
  {
   //Menampilkan layout untuk fragment
   View view = inflater.Inflate(Resource.Layout.homeLayout, container, false);
   return view;
  }
 }
}

Langkah 14
Buat kembali sebuah fragment dengan nama WriteFragment.cs dengan code seperti berikut

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Support.V4.App;
using Android.Util;
using Android.Views;
using Android.Widget;

namespace TutorialNavigationDrawer
{
 public class WriteFragment : Android.Support.V4.App.Fragment
 {
  public override void OnCreate(Bundle savedInstanceState)
  {
   base.OnCreate(savedInstanceState);

   // Create your fragment here
  }

  public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
  {
   
   View view = inflater.Inflate(Resource.Layout.writeLayout, container, false);
   return view;

  }
 }
}

Langkah 15 Buka file MainActivity.cs lalu ubah code menjadi seperti ini

using Android.Widget;
using Android.OS;
using Android.Support.Design.Widget;
using Android.Support.V4.Widget;
using Android.Support.V7.Widget;
using Android.Support.V7.App;
using Android.Views;
using Android.App;
using SupportFragment = Android.Support.V4.App.Fragment;
using System.Collections.Generic;

namespace TutorialNavigationDrawer
{
 [Activity(Label = "NavigationDrawer", MainLauncher = true, Theme = "@style/Temaku")]
 public class MainActivity : AppCompatActivity
 {

  DrawerLayout drawerLayout;
  private SupportFragment mCurrentFragment;
  private Stack<SupportFragment> mStackFragment;
  private HomeFragment homeFragment;
  private WriteFragment writeFragment;

  protected override void OnCreate(Bundle savedInstanceState)
  {

   base.OnCreate(savedInstanceState);
   SetContentView(Resource.Layout.Main);
   drawerLayout = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);

   // Membuat konfigurasi Toolbar
   var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.app_bar);
   SetSupportActionBar(toolbar);
   SupportActionBar.SetTitle(Resource.String.app_name);
   SupportActionBar.SetDisplayHomeAsUpEnabled(true);
   SupportActionBar.SetDisplayShowHomeEnabled(true);

   // Memasukan item yang terseleksi agar masuk di navigasi
   var navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
   navigationView.NavigationItemSelected += NavigationView_NavigationItemSelected;

   // Membuat drawer toolbar
   var drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, Resource.String.open_drawer, Resource.String.close_drawer);
   drawerLayout.SetDrawerListener(drawerToggle);
   drawerToggle.SyncState();

   //Definisikan nama fragment agar dapat dipanggil pada navigasi
   homeFragment = new HomeFragment();
   writeFragment = new WriteFragment();

   mStackFragment = new Stack<SupportFragment>();

   //Menambahkan Fragment
   var trans = SupportFragmentManager.BeginTransaction();
   //Menyembungikan fragment pesan agar hanya home yang muncul
   trans.Add(Resource.Id.HomeFrameLayout, writeFragment, "Pesan");
   trans.Hide(writeFragment);
   //Tampilkan home Fragment
   trans.Add(Resource.Id.HomeFrameLayout, homeFragment, "Home");

   trans.Commit();
   mCurrentFragment = homeFragment;
  }
  //Definisikan Cutom Title Text
  protected override void OnResume()
  {
   SupportActionBar.SetTitle(Resource.String.app_name);
   base.OnResume();
  }


  //Definisikan kemana navigasi akan diarahkan
  void NavigationView_NavigationItemSelected(object sender, NavigationView.NavigationItemSelectedEventArgs e)
  {
   switch (e.MenuItem.ItemId)
   {
    case (Resource.Id.nav_home):
     Toast.MakeText(this, "Anda memilih halaman Home!", ToastLength.Short).Show();
     ShowFragment(homeFragment);
     break;
    case (Resource.Id.nav_messages):
     Toast.MakeText(this, "Anda memilih halaman Pesan!", ToastLength.Short).Show();
     ShowFragment(writeFragment);
     break;
    case (Resource.Id.nav_friends):
     Toast.MakeText(this, "Anda memilih halaman Teman!", ToastLength.Short).Show();

     break;
   }
   // Close drawer
   drawerLayout.CloseDrawers();
  }

  //Tambahkan Custom Icon pada toolbar
  public override bool OnCreateOptionsMenu(Android.Views.IMenu menu)
  {
   MenuInflater.Inflate(Resource.Menu.action_menu, menu);
   if (menu != null)
   {
    menu.FindItem(Resource.Id.action_refresh).SetVisible(true);
    menu.FindItem(Resource.Id.action_attach).SetVisible(false);
   }
   return base.OnCreateOptionsMenu(menu);
  }
  //Definisikan icon jika di press / click / terseleksi
  public override bool OnOptionsItemSelected(IMenuItem item)
  {
   switch (item.ItemId)
   {
    case Android.Resource.Id.Home:
     //Masukan navigasi

     return true;
    case Resource.Id.action_attach:
     //Masukan navigasi

     return true;
    default:
     return base.OnOptionsItemSelected(item);
   }
  }

  //Fungsi menampilkan fragment
  private void ShowFragment(SupportFragment fragment)
  {

   if (fragment.IsVisible)
   {

    return;
   }

   var trans = SupportFragmentManager.BeginTransaction();
   //trans.SetCustomAnimations(Resource.Animation.Slide_in,Resource.Animation.Slide_out,Resource.Animation.Slide_in, Resource.Animation.Slide_out )
   trans.SetCustomAnimations(Resource.Animation.Slide_in, Resource.Animation.Slide_out);
   trans.Hide(mCurrentFragment);
   trans.Show(fragment);
   trans.AddToBackStack(null);
   trans.Commit();

   mStackFragment.Push(mCurrentFragment);
   mCurrentFragment = fragment;


  }


  //Fungsi ketika tombol back di pree
  public override void OnBackPressed()
  {
   if (FragmentManager.BackStackEntryCount != 0)
   {
    FragmentManager.PopBackStack();//fragmentManager.popBackStack();
   }
   else
   {
    base.OnBackPressed();
   }
  }


 }
}

Pada MainActivity.cs ada beberapa yang harus dipahami antara lain adalah

// Membuat konfigurasi Toolbar
   var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.app_bar);
   SetSupportActionBar(toolbar);
   SupportActionBar.SetTitle(Resource.String.app_name);
   SupportActionBar.SetDisplayHomeAsUpEnabled(true);
   SupportActionBar.SetDisplayShowHomeEnabled(true);

Kode diatas adalah untuk konfigurasi toolbar/ action bar kita

// Memasukan item yang terseleksi agar masuk di navigasi
   var navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
   navigationView.NavigationItemSelected += NavigationView_NavigationItemSelected;

Mendefinisikan menu pada navigasi

//Menambahkan Fragment
   var trans = SupportFragmentManager.BeginTransaction();
   //Menyembungikan fragment pesan agar hanya home yang muncul
   trans.Add(Resource.Id.HomeFrameLayout, writeFragment, "Pesan");
   trans.Hide(writeFragment);
   //Tampilkan home Fragment
   trans.Add(Resource.Id.HomeFrameLayout, homeFragment, "Home");

   trans.Commit();
   mCurrentFragment = homeFragment;

Mendaftarkan fragment pada activity , serta menentukan Current Fragment

//Definisikan kemana navigasi akan diarahkan
  void NavigationView_NavigationItemSelected(object sender, NavigationView.NavigationItemSelectedEventArgs e)
  {
   switch (e.MenuItem.ItemId)
   {
    case (Resource.Id.nav_home):
     Toast.MakeText(this, "Anda memilih halaman Home!", ToastLength.Short).Show();
     ShowFragment(homeFragment);
     break;
    case (Resource.Id.nav_messages):
     Toast.MakeText(this, "Anda memilih halaman Pesan!", ToastLength.Short).Show();
     ShowFragment(writeFragment);
     break;
    case (Resource.Id.nav_friends):
     Toast.MakeText(this, "Anda memilih halaman Teman!", ToastLength.Short).Show();

     break;
   }
   // Close drawer
   drawerLayout.CloseDrawers();
  }

Code diatas akan mengarahkan ke mana navigasi tersebut apakah ke fragment lain atau activity lain.

//Fungsi menampilkan fragment
  private void ShowFragment(SupportFragment fragment)
  {

   if (fragment.IsVisible)
   {

    return;
   }

   var trans = SupportFragmentManager.BeginTransaction();
   //trans.SetCustomAnimations(Resource.Animation.Slide_in,Resource.Animation.Slide_out,Resource.Animation.Slide_in, Resource.Animation.Slide_out )
   trans.SetCustomAnimations(Resource.Animation.Slide_in, Resource.Animation.Slide_out);
   trans.Hide(mCurrentFragment);
   trans.Show(fragment);
   trans.AddToBackStack(null);
   trans.Commit();

   mStackFragment.Push(mCurrentFragment);
   mCurrentFragment = fragment;


  }


Fungsi diatas adalah untuk menampilkan fragment



Demikianlah Artikel Tutorial Xamarin Android : Membuat Navigation Drawer Part 2

Sekianlah artikel Tutorial Xamarin Android : Membuat Navigation Drawer Part 2 kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.

Anda sekarang membaca artikel Tutorial Xamarin Android : Membuat Navigation Drawer Part 2 dengan alamat link https://dev-create.blogspot.com/2020/02/tutorial-xamarin-android-membuat_48.html