依赖:
compile 'com.android.support:design:25.3.1'
初始化tabLayout:
mTabLayout = (TabLayout) findViewById(R.id.tabLayout);
Xmal 中的设置:
给TabLayout 设置标题。并且绑定ViewPager,这里,一定要将标题用List另外在存一下,不然会造成标题不发显示。然后在Adapter中在 getPageTitle() // 将tab和viewpager绑定mTabLayout.addTab(mTabLayout.newTab().setText("默认"), true);mTabLayout.addTab(mTabLayout.newTab().setText("价格"), false);mTabLayout.addTab(mTabLayout.newTab().setText("销量"), false);mTitleList.add("默认");mTitleList.add("价格");mTitleList.add("销量");mFragmentList.add( new ProductDefaultFragment());mFragmentList.add(new ProductPriceFragment());mFragmentList.add(new ProductSalesFragment());mProductListAdapter = new ProductListAdapter(getSupportFragmentManager(), mFragmentList,mTitleList);vp_product_list.setAdapter(mProductListAdapter);mTabLayout.setupWithViewPager(vp_product_list);
在adapter中设置
public class ProductListAdapter extends FragmentPagerAdapter {private List mFragmentList;private List mTitleList;public ProductListAdapter(FragmentManager fm, List fragmentList, List titleList) {super(fm);this.mFragmentList=fragmentList;this.mTitleList=titleList;} @Overridepublic CharSequence getPageTitle(int position) {return mTitleList.get(position);}
@Overridepublic BaseFragment getItem(int position) {return mFragmentList.get(position);}@Overridepublic int getCount() {return mFragmentList.size();}
}