TabLayout配合ViewPager最普通使用

本来几个月前用过,现在忘了....现在记下来,怕自己忘了

1. xml 文件中 :


    
    //tab文字的造型可以自定义一个style文件给tablayout设置上
    如: app:tabTextAppearance="@style/xxx"





2. java代码中:

  1. 首先在viewpager的adpater中要实现一个getPageTitle()方法:

这个方法返回值就是在tablayout中各个tab显示的文字

public class HomeFragmentViewPagerAdapter extends FragmentStatePagerAdapter {
    private List fragments;
    private List titles;

    public HomeFragmentViewPagerAdapter(FragmentManager fm, List fragments, List titles) {
        super(fm);
        this.fragments = fragments;
        this.titles = titles;

    @Override
    public CharSequence getPageTitle(int position) {
        return titles.get(position);
    }
}

  1. 将tablayout和viewpager关联:
tabLayout.setupWithViewPager(vp_fragment_main_home_viewpager);
tabLayout.setTabTextColors(XXX);
tabLayout.setSelectedTabIndicatorColor(YYY);
tabLayout.setTabMode(TabLayout.MODE_FIXED);//表示tablayout中的元素固定住不能滑动,
//tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE) 表示tablayout中的元素可以滑动

//其他属性自己试,我所需要的已经完成了
这样你的tab就会显示viewpager的title内容了,

不过如果你对你的tab有更高的要求,要在里面显示些奇怪的东西,也可以,那么在Adapter中设置title就无所谓了,反正你也会改掉

tabLayout.getTabAt(0).setText("11111111");      //当然还有更多属性可以更改,自己去试

tabLayout.getTabAt(1).setCustomView(R.layout.entry); //设置了自定义view,setText之类的方法就没用了

1

1

1

1

1

1

1

1

1

1

1

1

你可能感兴趣的:(TabLayout配合ViewPager最普通使用)