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就不放啦
Tablayout+ViewPager+Fragment 实现页面切换相关推荐
- 小牛的安卓笔记-----底部导航栏的实现以及用TabLayout+ViewPager+Fragment实现页面滑动切换
昨夜西风凋碧树,独上高楼,望尽天涯路. 今天难得有时间,准备写一写我们在APP中经常用到的页面形式,废话不多说,直接一张图看看页面效果你就知道为啥是常用的页面形式.先看看逻辑和最后的效果是怎么样的: ...
- TabLayout+Viewpager+Fragment实现分页滚动
效果如上,顶部标签滚动底下的页面也跟着滚动 灰色的标签只是一个recyclerview装起来的 这里用TabLayout+Viewpager+Fragment实现 先看布局 <?xml vers ...
- TabLayout+ViewPager+Fragment实现切页展示
写在前面 目前大多数的APP都采用的是几个Tab标签以及多个界面滑动的形式来提供多层次的交互体验,最为常用的做法就是采用TabLayout+ViewPager+Fragment的方式,最近在公司项目中 ...
- Android实现一个简易的新闻列表APP(TabLayout+ViewPager+Fragment)
Android实现一个简易的新闻列表APP(TabLayout+ViewPager+Fragment) 文章目录 Android实现一个简易的新闻列表APP(TabLayout+ViewPager+F ...
- TabLayout+ViewPager+Fragment中Fragment的可见和不可见问题
场景 TabLayout+ViewPager+Fragment的使用过程中需要判断Fragment是否对用户可见,监听Fragment由不可见变为可见的事件 解决方案 重写Fragment的setUs ...
- android fragment界面滑动切换效果,Android App中使用ViewPager+Fragment实现滑动切换效果...
在android应用中,多屏滑动是一种很常见的风格,没有采用viewpager的代码实现会很长,如果采用ViewPager,代码就会短很多,但是使用ViewPager也有弊端:需要导入android- ...
- 使用TabLayout+ViewPager+Fragment实现切页展示
使用TabLayout+ViewPager+Fragment是比较常见的实现切页展示的方式,本例是在fragment中实现主要代码 步骤: 1,定义TabLayout和ViewPager的布局 2,实 ...
- TabLayout+ViewPager+Fragment(内部:TabLayout+ViewPager+ Fragment)需要注意!!
之前面试的时候,被面试官问道ViewPager嵌套ViewPager怎么处理的.我还一直在回答用最外层的vp的onInterceptTouchEvent来处理怎样怎样(注意是代码没有写过,就这样说了. ...
- android tabhost 动画,Android中使用TabHost 与 Fragment 制作页面切换效果
三个标签页置于顶端 效果图: 在文件BoardTabHost.java中定义页面切换的效果:切换页面时,当前页面滑出,目标页面滑入.这是2个不同的动画设定动画时要区分对待 import android ...
最新文章
- 阿里云弹性公网IP(EIP)的使用限制
- 获取iPhone通话记录(需越狱)
- 【上】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
- linux 命令常驻,Linux下任务调度的crond常驻命令
- 2017/Province_Java_A/2、9数算式
- HEVC概念缩写对照表
- follow 开源项目关于NoClassDefFoundError错误的解决方法
- Vue 中实现双向绑定的 4 种方法
- spring学习笔记一(基于xml)
- Android WiFi 扫描并选择网络进行连接
- C# 使用Aspose.Word将Word书签的数据进行替换 包含打印
- 《菊与刀》读后感作文5000字
- oc贴材质透明logo有问题,logo贴图有底色,oc贴图怎么不平铺
- python+html实现前后端数据交互界面显示
- 手机Camera理论
- Github入门教程(新版)
- 根据励磁电感、谐振电感(漏感)、功率等级、频率设计LLC变换器的变压器
- 恢复删除的环境变量-卷影复制
- 计算机照片打印设置方法,详解设置打印机纸张添加7寸照片尺寸在win7电脑中的操作的步骤...
- 2017 php recaptcha,PHP形成谷歌reCAPTCHA
热门文章
- Python 揭秘斐波那契定律,如何帮助码农分析股票?| 技术头条
- 5G 基站为何建得比 4G 多?
- 忽略这一点,人工智能变人工智障的!
- 引入神经网络 API 1.1、支持全面屏,Android 9.0 来了!
- oracle 对象类型是什么意思,Oracle-对象类型
- matlab检测串口数据帧头,用matlab从串口读入数据产生图像进行分析遇到的问题,求大虾帮助!...
- php 中抽象类的作用,解释PHP中的抽象类。
- mysql 卡住_一次sql卡住的解决过程(mysql)
- php自己编译扩展,Linux编译PHP添加扩展库的方法
- svg实现loading效果