项目之使用TabLayout,实现页签的切换

来源:互联网 发布:mac mysql 启动失败 编辑:程序博客网 时间:2024/06/06 06:41

初始化布局

1、创建数组,mFragments = new BaseFragment[4];

2、实例化,  mFragments[0] = NewsClassfiFragment.newInstance(ONE);

3、设置Tab的模式,TabMode:布局中Tab的行为模式(behavior mode),  mTabs.setTabMode(TabLayout.MODE_FIXED);

4、实例化适配器,  mAdapter = new BaseFragmentAdapter(getChildFragmentManager(), mFragments, titles);

    private String[] titles = {"头条", "NBA", "汽车", "笑话"};    private BaseFragment[] mFragments;    private BaseFragmentAdapter mAdapter;    public static final int ONE = 0;    public static final int TWO = 1;    public static final int THREE = 2;    public static final int FOUR = 3;    @Override    protected void initView() {        mFragments = new BaseFragment[4];        mFragments[0] = NewsClassfiFragment.newInstance(ONE);        mFragments[1] = NewsClassfiFragment.newInstance(TWO);        mFragments[2] = NewsClassfiFragment.newInstance(THREE);        mFragments[3] = NewsClassfiFragment.newInstance(FOUR);        mTabs.setTabMode(TabLayout.MODE_FIXED);        mAdapter = new BaseFragmentAdapter(getChildFragmentManager(), mFragments, titles);        mViewPager.setAdapter(mAdapter);        mTabs.setupWithViewPager(mViewPager);        mViewPager.addOnPageChangeListener(this);    }

5、创建 NewsClassfiFragment.class

package com.huading.baselhz;import android.os.Bundle;import com.huading.baselhz.base.BaseFragment;/** * 作者:LHZ on 2017/5/8 10:27 * 界面: */public class NewsClassfiFragment extends BaseFragment {    public static BaseFragment newInstance(int type) {        Bundle bundle = new Bundle();        NewsClassfiFragment fragment = new NewsClassfiFragment();        bundle.putInt("type", type);        fragment.setArguments(bundle);        return fragment;    }    @Override    protected int getLayoutId() {        return R.layout.fragment_news_classfi;    }    @Override    protected void initView() {    }    @Override    protected void lazyFetchData() {    }}


0 0