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

Tablayout+ViewPager+Fragment 实现页面切换相关推荐

  1. 小牛的安卓笔记-----底部导航栏的实现以及用TabLayout+ViewPager+Fragment实现页面滑动切换

    昨夜西风凋碧树,独上高楼,望尽天涯路. 今天难得有时间,准备写一写我们在APP中经常用到的页面形式,废话不多说,直接一张图看看页面效果你就知道为啥是常用的页面形式.先看看逻辑和最后的效果是怎么样的: ...

  2. TabLayout+Viewpager+Fragment实现分页滚动

    效果如上,顶部标签滚动底下的页面也跟着滚动 灰色的标签只是一个recyclerview装起来的 这里用TabLayout+Viewpager+Fragment实现 先看布局 <?xml vers ...

  3. TabLayout+ViewPager+Fragment实现切页展示

    写在前面 目前大多数的APP都采用的是几个Tab标签以及多个界面滑动的形式来提供多层次的交互体验,最为常用的做法就是采用TabLayout+ViewPager+Fragment的方式,最近在公司项目中 ...

  4. Android实现一个简易的新闻列表APP(TabLayout+ViewPager+Fragment)

    Android实现一个简易的新闻列表APP(TabLayout+ViewPager+Fragment) 文章目录 Android实现一个简易的新闻列表APP(TabLayout+ViewPager+F ...

  5. TabLayout+ViewPager+Fragment中Fragment的可见和不可见问题

    场景 TabLayout+ViewPager+Fragment的使用过程中需要判断Fragment是否对用户可见,监听Fragment由不可见变为可见的事件 解决方案 重写Fragment的setUs ...

  6. android fragment界面滑动切换效果,Android App中使用ViewPager+Fragment实现滑动切换效果...

    在android应用中,多屏滑动是一种很常见的风格,没有采用viewpager的代码实现会很长,如果采用ViewPager,代码就会短很多,但是使用ViewPager也有弊端:需要导入android- ...

  7. 使用TabLayout+ViewPager+Fragment实现切页展示

    使用TabLayout+ViewPager+Fragment是比较常见的实现切页展示的方式,本例是在fragment中实现主要代码 步骤: 1,定义TabLayout和ViewPager的布局 2,实 ...

  8. TabLayout+ViewPager+Fragment(内部:TabLayout+ViewPager+ Fragment)需要注意!!

    之前面试的时候,被面试官问道ViewPager嵌套ViewPager怎么处理的.我还一直在回答用最外层的vp的onInterceptTouchEvent来处理怎样怎样(注意是代码没有写过,就这样说了. ...

  9. android tabhost 动画,Android中使用TabHost 与 Fragment 制作页面切换效果

    三个标签页置于顶端 效果图: 在文件BoardTabHost.java中定义页面切换的效果:切换页面时,当前页面滑出,目标页面滑入.这是2个不同的动画设定动画时要区分对待 import android ...

最新文章

  1. leangoo scrum看板工具轻量协作OKR目标管理
  2. 源码篇——AsyncTask机制
  3. mysql千万级大数据SQL查询优化
  4. 计算硼原子基态能级B---动能和势能
  5. AspectJ Join Point Matching based on Annotations
  6. filebeat相关registry文件内容解析
  7. maven 工程依赖了某个jar包 但还是报java.lang.ClassNotFoundException的问题
  8. PowerShell与Unix Shell对比:八大实例
  9. 【AC自动机】单词(luogu 3966/ybtoj AC自动机-2)
  10. 修改服务器时间报错,修改服务器时间linux
  11. python3 新式类_python新式类和旧式类区别
  12. # ; @REM !等符号在WINCE6.0下的意义和作用
  13. linux c 编译器安装,安装 GNU 的 C/C++ 编译器
  14. 190602每日一句
  15. 离散数学复习--第一章:命题逻辑
  16. xxl-job架构源码解析
  17. java开发职业规划(一)
  18. 为什么越来越多的绘图员开始用云渲染来渲图?
  19. android马甲包代理,安卓渠道马甲包配置
  20. 安装python解释器的时候遇到user installations are disabled via policy on the machine”

热门文章

  1. @程序员,这份 2 万人收藏的计算机科学速成课速码!
  2. 人工智能时代,我们需要什么样的芯片?| 码书
  3. 揭秘计算机之间互发数据的关键原理!
  4. 郭台铭“炮轰”微软;腾讯应用宝全面封禁多闪;波音更新飞行软件 | 极客头条...
  5. 程序员如何在技术浪潮的更迭中保持较高的成长速度 ?
  6. 确认过眼神,你是要来百度AI开发者实战营深圳站的人
  7. Wi-Fi 爆重大安全漏洞,Android、iOS、Windows 等所有无线设备都不安全了
  8. 自己java_一些自己用的java类
  9. Android Studio属性动画,Android开发-RecyclerView-AndroidStudio(六)属性动画(3)AddDuration
  10. java窗口小程序atm_写一个ATM机小程序(JAVA), 目前老师 讲到了 静态工厂