コード例 #1
0
            public static Fragment NewInstance(int position)
            {
                Fragment fragment = new WebviewFragment();
                Bundle   args     = new Bundle();

                args.PutInt(WebviewFragment.ARG_NUMBER, position);
                fragment.Arguments = args;
                return(fragment);
            }
コード例 #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);


            mDrawerTitle   = this.Title;
            mContentTitles = this.Resources.GetStringArray(Resource.Array.contents_array);

            toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);
            SetSupportActionBar(toolbar);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetDisplayShowTitleEnabled(false);
            SupportActionBar.SetHomeButtonEnabled(true);
            SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_menu);
            // Get our button from the layout resource,
            // and attach an event to it
            drawer         = FindViewById <DrawerLayout>(Resource.Id.drawer_layout);
            navigationView = FindViewById <NavigationView>(Resource.Id.nav_view);
            if (navigationView != null)
            {
                setupDrawerContent(navigationView);
            }

            ActionBarDrawerToggle toggle = new MyActionBarDrawerToggle(this, drawer, toolbar, Resource.String.drawer_open, Resource.String.drawer_close);

            drawer.AddDrawerListener(toggle);
            toggle.SyncState();

            if (savedInstanceState == null) //first launch
            {
                toolbar.Title = mContentTitles[0];
                var fragment = WebviewFragment.NewInstance(0);

                var fragmentManager = this.FragmentManager;
                var ft = fragmentManager.BeginTransaction();
                ft.Replace(Resource.Id.content_frame, fragment);
                ft.Commit();
            }
        }
コード例 #3
0
        //public override bool OnCreateOptionsMenu(IMenu menu)
        //{
        //    // set the menu layout on Main Activity
        //    MenuInflater.Inflate(Resource.Menu.menu, menu);
        //    return base.OnCreateOptionsMenu(menu);
        //}

        //public override bool OnOptionsItemSelected(IMenuItem item)
        //{
        //    switch (item.ItemId)
        //    {
        //        case Android.Resource.Id.Home:
        //            drawer.OpenDrawer(Android.Support.V4.View.GravityCompat.Start);
        //            return true;
        //    }

        //    return base.OnOptionsItemSelected(item);
        //}


        void setupDrawerContent(NavigationView navigationView)
        {
            navigationView.NavigationItemSelected += (sender, e) => {
                int ItemId = e.MenuItem.ItemId;

                e.MenuItem.SetChecked(true);

                int index = 0;
                if (ItemId == Resource.Id.nav_home)
                {
                    index = 0;
                }
                else if (ItemId == Resource.Id.nav_messages)
                {
                    index = 1;
                }
                else if (ItemId == Resource.Id.nav_about)
                {
                    index = 2;
                }

                // update the main content by replacing fragments
                var fragment = WebviewFragment.NewInstance(index);

                var fragmentManager = this.FragmentManager;
                var ft = fragmentManager.BeginTransaction();
                ft.Replace(Resource.Id.content_frame, fragment);
                ft.Commit();

                // update selected item title, then close the drawer
                mDrawerTitle = mContentTitles[index];


                drawer.CloseDrawers();
            };
        }