Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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();
            }
        }