项目也快上线了,就来总结下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. 阿里云弹性公网IP(EIP)的使用限制
  2. 获取iPhone通话记录(需越狱)
  3. 【上】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
  4. linux 命令常驻,Linux下任务调度的crond常驻命令
  5. 2017/Province_Java_A/2、9数算式
  6. HEVC概念缩写对照表
  7. follow 开源项目关于NoClassDefFoundError错误的解决方法
  8. Vue 中实现双向绑定的 4 种方法
  9. spring学习笔记一(基于xml)
  10. Android WiFi 扫描并选择网络进行连接
  11. C# 使用Aspose.Word将Word书签的数据进行替换 包含打印
  12. 《菊与刀》读后感作文5000字
  13. oc贴材质透明logo有问题,logo贴图有底色,oc贴图怎么不平铺
  14. python+html实现前后端数据交互界面显示
  15. 手机Camera理论
  16. Github入门教程(新版)
  17. 根据励磁电感、谐振电感(漏感)、功率等级、频率设计LLC变换器的变压器
  18. 恢复删除的环境变量-卷影复制
  19. 计算机照片打印设置方法,详解设置打印机纸张添加7寸照片尺寸在win7电脑中的操作的步骤...
  20. 2017 php recaptcha,PHP形成谷歌reCAPTCHA

热门文章

  1. Python 揭秘斐波那契定律,如何帮助码农分析股票?| 技术头条
  2. 5G 基站为何建得比 4G 多?
  3. 忽略这一点,人工智能变人工智障的!
  4. 引入神经网络 API 1.1、支持全面屏,Android 9.0 来了!
  5. oracle 对象类型是什么意思,Oracle-对象类型
  6. matlab检测串口数据帧头,用matlab从串口读入数据产生图像进行分析遇到的问题,求大虾帮助!...
  7. php 中抽象类的作用,解释PHP中的抽象类。
  8. mysql 卡住_一次sql卡住的解决过程(mysql)
  9. php自己编译扩展,Linux编译PHP添加扩展库的方法
  10. svg实现loading效果