<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))
写内部类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];
}
}