示例#1
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            global::Xamarin.Forms.Forms.Init(this, bundle);
            SetContentView(Resource.Layout.Main);
            //  SQLiteClientBase<GlobalOption> globalOption = new SQLiteClientBase<GlobalOption>();


            //  var root = FindViewById<LinearLayout>(Resource.Id.ll_main_layout);

            /**
             * Intial view */
            InitView();


            navigationView.NavigationItemSelected += OnNavigationItemSelected;

            homeFragment         = new HomeFragment(this);
            settingsFragment     = new SettingsFragment(this);
            registrationFragment = new RegistrationFragment(this);
            mStackFragments      = new Stack <SupportFragment>();

            var trans = SupportFragmentManager.BeginTransaction();

            trans.Add(Resource.Id.fragmentContainer, homeFragment, "homeFragment");
            trans.Commit();

            mCurrentFragment = homeFragment;

            /**
             * get the theme
             */
        }
        //a method that will switch through each option inside drawer layout (navigational tabs)
        public bool OnNavigationItemSelected(IMenuItem item)
        {
            switch (item.ItemId)
            {
            //case for login option navigation
            case Resource.Id.nav_login:
                //on click of login navigation item
                //calls fragment named LoginFragment that will be replaced by framelayout and displays a new layout
                FragmentManager.BeginTransaction().Replace(Resource.Id.frameContent, new LoginFragment()).Commit();
                break;

            case Resource.Id.nav_bin_status:
                //calls BinStatus fragment to replace the framelayout and display bin status layout
                FragmentManager.BeginTransaction().Replace(Resource.Id.frameContent, new BinStatusFragment()).Commit();
                break;

            case Resource.Id.nav_registration:
                //open registration fragment
                var ft = FragmentManager.BeginTransaction();
                ft.SetCustomAnimations(Android.Resource.Animator.FadeIn, Android.Resource.Animator.FadeOut);
                var registrationFragment = new RegistrationFragment();
                ft.Replace(Resource.Id.frameContent, registrationFragment);
                ft.Commit();
                break;

            // Launches the Disposables List Activity
            case Resource.Id.nav_disposables:
                FragmentManager.BeginTransaction().Replace(Resource.Id.frameContent, new DisposablesFragment()).Commit();
                break;

            case Resource.Id.nav_faq:
                //on click of login navigation item
                //calls fragment named LoginFragment that will be replaced by framelayout and displays a new layout
                FragmentManager.BeginTransaction().Replace(Resource.Id.frameContent, new FAQFragment()).Commit();
                break;
            }
            //Drawer layout instance for side bar navigation
            DrawerLayout drawer = FindViewById <DrawerLayout>(Resource.Id.drawer_layout);

            drawer.CloseDrawer(GravityCompat.Start);
            return(true);
        }