Material Design学习之 TabLayout(ViewPager实现页卡最简单方法)

在开发中,我们常常需要ViewPager结合Fragment一起使用,我们可以使用三方开源的PagerSlidingTabStrip去实现,或者viewpagerindicator,我一般都偏向前者。现在我们可以使用Design support library库的TabLayout去实现了。
实现方法
1、gradle文件中添加依赖,

compile 'com.android.support:design:23.3.0'

2、设置布局文件




    

    

    

这里面没有什么特别的,就是添加了一个TabLayout和Viewpager作为上下的布局。tablayout中tabSelectedTextColor指选中时文字颜色,tabIndicatorColor指滚动条颜色。
3、代码实现

public class MainActivity extends AppCompatActivity {

    @Bind(R.id.tabLayout)
    TabLayout mTabLayout;
    @Bind(R.id.viewPager)
    ViewPager mViewPager;
    private MyFragmentPagerAdapter mAdapter;
    private List mList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        init();
    }

    private void init() {
        mList = new ArrayList<>();
        mList.add(new Tab1());
        mList.add(new Tab2());
        mList.add(new Tab3());

        mAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager(), mList);

        mViewPager.setAdapter(mAdapter);

        mTabLayout.setupWithViewPager(mViewPager);
    }
}

其中MyFragmentPagerAdapter是ViewPager的适配器

public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
    private List mList = new ArrayList<>();
    private String tabTitles[] = new String[]{"美女", "搞笑"};

    public MyFragmentPagerAdapter(FragmentManager fm, List list) {
        super(fm);
        this.mList = list;
    }

    @Override
    public Fragment getItem(int position) {
        return mList.get(position);
    }

    @Override
    public int getCount() {
        return mList.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return tabTitles[position];
    }
}

运行效果图

Material Design学习之 TabLayout(ViewPager实现页卡最简单方法)_第1张图片
Paste_Image.png

如有不对的地方欢迎指正。

你可能感兴趣的:(Material Design学习之 TabLayout(ViewPager实现页卡最简单方法))