Fragment嵌套Fragment, TabLayout + ViewPager实现页面切换滑动

xiaoxiao2021-02-27  180

前言

最近有个朋友让我帮看了一个小问题: Fragment嵌套Fragment实现页面切换滑动的效果。其实这个问题也很常见,主要是getFragmentManager()和getChildFragmentManager()这两个使用的一些小细节。

getFragmentManager()所得到的是所在 fragment 的父容器的管理器getChildFragmentManager()所得到的是在 fragment 里面子容器的管理器

所以在Fragment嵌套Fragment的时候,注意使用getChildFragmentManager()来管理子fragment就好了。

这里也顺便记一下这个功能。方便后面需要时使用。

效果图

主要技术

ButterKnifeTabLayout + ViewPager

ButterKnife的使用

官网地址: http://jakewharton.github.io/butterknife/

要使用前,需要两步配置。

在Android studio中安装ButterKnife插件。

在build.gradle 里面加入。

compile ‘com.jakewharton:butterknife:8.8.1’ annotationProcessor ‘com.jakewharton:butterknife-compiler:8.8.1’

配置好之后,我们就可以使用了。先看下布局:

在Activity中使用:

在Fragment中使用:

这样就能正常使用完成控件了。其他需要在Adapter,方法,ListView多视图等使用可以参考官网介绍来使用。

TabLayout + ViewPager 使用

使用TabLayout需要在build.gradle 里面加入(版本自己选择):

compile 'com.android.support:design:25.3.1'

布局里面使用:

代码中实现:

TestFragmentAdapter类:

这里是主界面包括”首页”,”附近”,”逛逛”,”我的”四个fragment , 其中对首页里面又嵌套了”精选”, “美食”, “游玩”, “电影”四个子fragment.布局和代码都是差不多的,需要注意的地方就是开头说的:在fragment中嵌套fragment,需要使用getChildFragmentManager().

完整代码:

https://github.com/Jekriada/FragmentDemo.git

转载请注明原文地址: https://www.6miu.com/read-12455.html

最新回复(0)