ViewPager、PagerTabStrip、FragmentPagerStateAdapter实现状态栏切换界面

    xiaoxiao2021-12-14  19

    使用PagerTabStrip可以实现滑动式状态栏

    在activity_main.xml中写布局代码 <android.support.v4.view.ViewPager android:layout_width = "match_parent" android:layout_height = "match_parent" android:id="@+id/vp" > <android.support.v4.view.PagerTabStrip android:id="@+id/pager_tab_strip" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="top" android:background="@color/tab_background" android:textColor="@color/tab_text" android:scrollIndicators="left" android:paddingTop="1dp" android:paddingBottom="2dp" /> </android.support.v4.view.ViewPager> 状态栏标签名称(在strings.xml 写个string-array数组) <string-array name="tab_names"> <item>首页</item> <item>应用</item> <item>游戏</item> <item>专题</item> <item>分类</item> <item>排行</item> </string-array>

    在mainActivity中初始化ViewPager、pagerTabStrip

    全局成员变量 private ViewPager mViewPager; private PagerTabStrip mPagerTabStrip; private String[] tabNames; 初始化视图 setContentView(R.layout.activity_main); tabNames = UIutil.getStringArray(R.array.tab_names); mViewPager = (ViewPager) findViewById(R.id.vp); FragmentManager fm = getSupportFragmentManager(); mViewPager.setAdapter(new MainAdapter(fm)); mPagerTabStrip = (PagerTabStrip) findViewById(R.id.pager_tab_strip); mPagerTabStrip.setTabIndicatorColor(getResources().getColor(R.color.tab_indicator));//设置tab标签下的横线颜色

    写内部类mainAdapter继承FragmentPagerStateAdapter切换Fragment

    private class MainAdapter extends FragmentStatePagerAdapter { public MainAdapter(FragmentManager fragmentManager) { super(fragmentManager); } @Override public Fragment getItem(int position) { switch(position){ case 0 : return new HomeFragment(); case 1 : return new AppFragment(); case 2 : return new GameFragment(); case 3 : return new SubjectFragment(); case 4 : return new CategoryFragment(); case 5 : return new TopFragment(); default : return null; } } @Override public int getCount() { return tabNames.length; } @Override public CharSequence getPageTitle(int position) { return tabNames[position]; } }
    转载请注明原文地址: https://ju.6miu.com/read-971197.html

    最新回复(0)