最近有个朋友让我帮看了一个小问题: Fragment嵌套Fragment实现页面切换滑动的效果。其实这个问题也很常见,主要是getFragmentManager()和getChildFragmentManager()这两个使用的一些小细节。
getFragmentManager()所得到的是所在 fragment 的父容器的管理器getChildFragmentManager()所得到的是在 fragment 里面子容器的管理器所以在Fragment嵌套Fragment的时候,注意使用getChildFragmentManager()来管理子fragment就好了。
这里也顺便记一下这个功能。方便后面需要时使用。
官网地址: 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需要在build.gradle 里面加入(版本自己选择):
compile 'com.android.support:design:25.3.1'布局里面使用:
代码中实现:
TestFragmentAdapter类:
这里是主界面包括”首页”,”附近”,”逛逛”,”我的”四个fragment , 其中对首页里面又嵌套了”精选”, “美食”, “游玩”, “电影”四个子fragment.布局和代码都是差不多的,需要注意的地方就是开头说的:在fragment中嵌套fragment,需要使用getChildFragmentManager().
完整代码:
https://github.com/Jekriada/FragmentDemo.git