项目也快上线了,就来总结下Tablayout+ViewPager+Fragment 的使用啦
主activity
public class DoSomethingAct extends BaseActivity {@BindView(R.id.tooBarTitleTv)TextView tooBarTitleTv;@BindView(R.id.tabLayout)TabLayout tabLayout;@BindView(R.id.viewPager)ViewPager viewPager;FourDetailAdapter adapter;private ArrayList<Fragment> fragmentList = new ArrayList<>();//fragmentList@Overrideprotected int getLayoutId() {return R.layout.xm_spfbqk_act;}@Overridepublic void initImmersionBar() {super.initImmersionBar();ImmersionBar.with(this).statusBarDarkFont(true).applySystemFits(true).init();}@Overrideprotected void initView() {super.initView();String [] titleArry = null;tooBarTitleTv.setText("我的办件");getSwipeBackLayout().setEnableGesture(false);fragmentList.add(new MyMessageScheduleFragment(0));fragmentList.add(new MyMessageScheduleFragment(1));titleArry = new String[]{"资质办件","项目办件"};setGroupFragment(titleArry);}private void setGroupFragment(String[] titleArry) {adapter = new FourDetailAdapter(getSupportFragmentManager());adapter.setFragments(fragmentList);viewPager.setAdapter(adapter);tabLayout.setupWithViewPager(viewPager);//让tablayout与viewpager建立关联关系for (int i =0;i<titleArry.length;i++){setTabItem(titleArry,i);}//tablayout选中状态的一些UI更新tabLayout.addOnTabSelectedListener(new TabLayout.BaseOnTabSelectedListener() {@Overridepublic void onTabSelected(TabLayout.Tab tab) {View view = tab.getCustomView();TextView textView = view.findViewById(R.id.tv);textView.setTextColor(getResources().getColor(R.color.f3474C6));}@Overridepublic void onTabUnselected(TabLayout.Tab tab) {View view = tab.getCustomView();TextView textView = view.findViewById(R.id.tv);textView.setTextColor(getResources().getColor(R.color.f969597));}@Overridepublic void onTabReselected(TabLayout.Tab tab) {}});chooseFirst();}private void chooseFirst() {TabLayout.Tab tabAt = tabLayout.getTabAt(0);View view = tabAt.getCustomView();TextView textView = view.findViewById(R.id.tv);textView.setTextColor(getResources().getColor(R.color.f3474C6));}private void setTabItem(String[] titleArry,int i) {View view = LayoutInflater.from(this).inflate(R.layout.zz_wyb_tablayout_title_items, null);TextView textView = (TextView) view.findViewById(R.id.tv);textView.setText(titleArry[i]);tabLayout.getTabAt(i).setCustomView(view);}@Overrideprotected void onStart() {super.onStart();}}
FragmentPagerAdapter
/*** tablayout相关adapter*/public class FourDetailAdapter extends FragmentPagerAdapter {private List<Fragment> mFragmentList;public void setFragments(ArrayList<Fragment> fragments) {mFragmentList = fragments;}public FourDetailAdapter(FragmentManager fm) {super(fm);}@Overridepublic Fragment getItem(int position) {Fragment fragment = mFragmentList.get(position);return fragment;}@Overridepublic int getCount() {return mFragmentList.size();}@Overridepublic CharSequence getPageTitle(int position) {return super.getPageTitle(position);}}
另一个fragment就不放啦