1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Tablayout+ViewPager+Fragment 实现页面切换

Tablayout+ViewPager+Fragment 实现页面切换

时间:2022-07-15 19:44:08

相关推荐

Tablayout+ViewPager+Fragment 实现页面切换

项目也快上线了,就来总结下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就不放啦

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。