private void nav_NavigationItemSelected(object sender, NavigationEventArgs args) { var containerResId = Resource.Id.fragment_container; var transaction = SupportFragmentManager.BeginTransaction(); transaction.SetTransition((int)SupportFragmentTransaction.TransitFragmentOpen); if (args.NavItemPosition == NavigationDestination.List) { list_fragment = list_fragment ?? new SampleListFragment(); list_fragment.FastScrollEnabled = false; transaction.Replace(containerResId, list_fragment); } else if (args.NavItemPosition == NavigationDestination.Grid) { grid_fragment = grid_fragment ?? new GridFragment(); transaction.Replace(containerResId, grid_fragment); } else if (args.NavItemPosition == NavigationDestination.ScrollView) { image_fragment = new ImageFragment(Resource.Drawable.android_flavors); transaction.Replace(containerResId, image_fragment); } else if (args.NavItemPosition == NavigationDestination.ListFastScroll) { list_fragment = list_fragment ?? new SampleListFragment(); list_fragment.FastScrollEnabled = true; transaction.Replace(containerResId, list_fragment); } transaction.AddToBackStack(null); transaction.Commit(); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.main_layout); is_dual_pane = Resources.GetBoolean(Resource.Boolean.has_two_panes); var fm = SupportFragmentManager; var transaction = fm.BeginTransaction(); nav = new NavFragment(); if (is_dual_pane) { grid_fragment = new GridFragment(); current_nav_position = 0; transaction.Replace(Resource.Id.nav_fragment_container, nav); transaction.Replace(Resource.Id.content_fragment_container, grid_fragment); } else { transaction.Replace(Resource.Id.fragment_container, nav); } transaction.Commit(); nav.NavigationItemActivated += nav_NavigationItemSelected; // start our master service // We could alternatively start this from our Application class var intent = new Intent(this, typeof(MasterService)); StartService(intent); }
private void nav_NavigationItemSelected(object sender, NavigationEventArgs args) { var didChange = false; var addToBackStack = false; if (current_nav_position != args.NavItemPosition) { current_nav_position = args.NavItemPosition; didChange = true; } var containerResId = 0; var transitionType = FragmentTransit.None; if (didChange || !is_dual_pane) { if (is_dual_pane) { transitionType = FragmentTransit.FragmentFade; containerResId = Resource.Id.content_fragment_container; } else { transitionType = FragmentTransit.FragmentOpen; addToBackStack = true; containerResId = Resource.Id.fragment_container; } var transaction = SupportFragmentManager.BeginTransaction(); transaction.SetTransition((int)transitionType); if (current_nav_position == 0) { grid_fragment = grid_fragment ?? new GridFragment(); transaction.Replace(containerResId, grid_fragment); } else if (current_nav_position == 1) { image_fragment = new ImageFragment(Resource.Drawable.android_flavors); transaction.Replace(containerResId, image_fragment); } else if (current_nav_position == 2) { image_fragment = new ImageFragment(Resource.Drawable.xamarin); transaction.Replace(containerResId, image_fragment); } if (addToBackStack) { transaction.AddToBackStack(null); } transaction.Commit(); } }