1、依赖 implementation ‘com.android.support:design:28.+’//顶部导航栏
2、布局文件
<android.support.design.widget.TabLayout
android:id="@+id/order_tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_color"
app:tabTextColor="@color/text_black_color" //未选中字体颜色
app:tabIndicatorColor="#f00" //下划线颜色
app:tabSelectedTextColor="@color/price_red_color" //选中字体颜色
/>
<android.support.v4.view.ViewPager
android:id="@+id/order_viewpager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
3、activity中初始化:
private TabLayout tableLayout;
private ViewPager viewPager;
tableLayout = findViewById(R.id.order_tab);
viewPager = findViewById(R.id.order_viewpager);
List<Fragment> fragments = new ArrayList<>();
fragments.add(new OrderAllFragment());
fragments.add(new WaitPayFragment());
fragments.add(new WaitGoodsFragment());
fragments.add(new GetGoodsFragment());
FragmentPagerAdapter adapter = new FragmentOrderListAdapter(getSupportFragmentManager(),fragments, new String[]{"全部", "待付款", "待收货","已收货"});
viewPager.setAdapter(adapter);
tableLayout.setupWithViewPager(viewPager);
OrderAllFragment、WaitPayFragment、WaitGoodsFragment、GetGoodsFragment为自己写的fragment
4、FragmentOrderListAdapter
public class FragmentOrderListAdapter extends FragmentPagerAdapter {
private List<Fragment> list;
private String[] titles;
private Context context;
public FragmentOrderListAdapter(FragmentManager mFragmentManager,
List fragmentList,String[] title) {
super(mFragmentManager);
list = fragmentList;
titles=title;
}
@Override
public Fragment getItem(int i) {
Fragment fragment = null;
if (i < list.size()) {
fragment = list.get(i);
} else {
fragment = list.get(0);
}
return fragment;
}
@Override
public int getCount() {
return list.size();
}
@Override
public CharSequence getPageTitle(int position) {
if (titles != null && titles.length > 0)
return titles[position];
return null;
}
}
结束,