예제 #1
0
        private void InitViewPager()
        {
            mTabLayout = FindViewById <TabLayout>(Resource.Id.tab_layout_main);
            mViewPager = FindViewById <ViewPager>(Resource.Id.view_pager_main);

            List <Java.Lang.String> titles = new List <Java.Lang.String>();

            titles.Add(new Java.Lang.String(GetString(Resource.String.tab_title_main_1)));
            titles.Add(new Java.Lang.String(GetString(Resource.String.tab_title_main_2)));
            titles.Add(new Java.Lang.String(GetString(Resource.String.tab_title_main_3)));
            mTabLayout.AddTab(mTabLayout.NewTab().SetText(titles[0]));
            mTabLayout.AddTab(mTabLayout.NewTab().SetText(titles[1]));
            mTabLayout.AddTab(mTabLayout.NewTab().SetText(titles[2]));

            List <Android.Support.V4.App.Fragment> fragments = new List <Android.Support.V4.App.Fragment>();

            fragments.Add(new Class.fragment.CardsFragment());
            fragments.Add(new Class.fragment.DialogsFragment());
            fragments.Add(new Class.fragment.WidgetsFragment());

            mViewPager.OffscreenPageLimit = 2;

            Class.Adapters.FragmentAdapter mFragmentAdapter = new Class.Adapters.FragmentAdapter(SupportFragmentManager, fragments, titles);
            mViewPager.Adapter = mFragmentAdapter;
            mTabLayout.SetupWithViewPager(mViewPager);
            mTabLayout.SetTabsFromPagerAdapter(mFragmentAdapter);

            mViewPager.AddOnPageChangeListener(this);
        }
        private void initView()
        {
            //MainActivity的布局文件中的主要控件初始化
            mToolbar = FindViewById<Toolbar>(Resource.Id.tool_bar);
            mDrawerLayout = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
            mNavigationView = FindViewById<NavigationView>(Resource.Id.navigation_view);
            mTabLayout = FindViewById<TabLayout>(Resource.Id.tab_layout);
            mViewPager = FindViewById<ViewPager>(Resource.Id.view_pager);
            mTabLayout.Post(() =>
            {
                ShowTipMask();

            });


            mTabLayout.TabMode = TabLayout.ModeFixed;//固定
            // mTabLayout.TabMode = TabLayout.ModeScrollable;//滚动
            mTabLayout.TabGravity = TabLayout.GravityFill;//标签填充栏
            //mTabLayout.TabGravity = TabLayout.GravityCenter;//固定在中间
            //初始化ToolBar
            SetSupportActionBar(mToolbar);
            Android.Support.V7.App.ActionBar actionBar = SupportActionBar;
            actionBar.SetHomeAsUpIndicator(Android.Resource.Drawable.IcDialogAlert);
            actionBar.SetDisplayHomeAsUpEnabled(true);
            //对NavigationView添加item的监听事件
            mNavigationView.SetNavigationItemSelectedListener(naviListener);
            //开启应用默认打开DrawerLayout
            // mDrawerLayout.OpenDrawer(mNavigationView);

            //初始化TabLayout的title数据集
            List<Java.Lang.String> titles = new List<Java.Lang.String>();
            Java.Lang.String detail = new Java.Lang.String("我的活动");
            Java.Lang.String share = new Java.Lang.String("招募活动");
            Java.Lang.String agenda = new Java.Lang.String("缺席活动");
            Java.Lang.String other = new Java.Lang.String("其他活动");
            titles.Add(detail);
            titles.Add(share);
            titles.Add(agenda);
            titles.Add(other);
            //初始化TabLayout的title
            mTabLayout.AddTab(mTabLayout.NewTab().SetText(titles[0]));
            mTabLayout.AddTab(mTabLayout.NewTab().SetText(titles[1]));
            mTabLayout.AddTab(mTabLayout.NewTab().SetText(titles[2]));
            mTabLayout.AddTab(mTabLayout.NewTab().SetText(titles[3]));
            //初始化ViewPager的数据集
            List<Android.Support.V4.App.Fragment> fragments = new List<Android.Support.V4.App.Fragment>();
            fragments.Add(new InfoDetailsFragment());
            fragments.Add(new ShareFragment());
            fragments.Add(new AgendaFragment());
            fragments.Add(new AgendaFragment());
            //创建ViewPager的adapter
            FragmentAdapter adapter = new FragmentAdapter(SupportFragmentManager, fragments, titles);
            mViewPager.Adapter = adapter;
            //千万别忘了,关联TabLayout与ViewPager
            //同时也要覆写PagerAdapter的getPageTitle方法,否则Tab没有title
            mTabLayout.SetupWithViewPager(mViewPager);
            mTabLayout.SetTabsFromPagerAdapter(adapter);
        }