比如网页新闻,一个 Tab 就是一个栏目,可以左右滑动。我们就可以用 Fragment 实现类似的效果。
实现
Android Studio 中有这样的模板,创建 Activity 时选择最后一个 Tabbed Activity 即是。
选择 Navigation Style 可以确定几种切换样式。
原理
代码
代码基本是由创建的代码形成,我作了删减、改名,便于理解。
其中 onCreateView 我改为读取不同的布局文件,并且我们可以对不同的布局文件写不同的程序逻辑代码,如果逻辑代码太长,可参考:将 Activity 拆分为多个类。
问:每次滑动都会调用 onCreateView 吗?
答:只有滑到不存在过或已经消亡的 Fragment 时,才会调用 onCreateView。这东西始终保持当前 Fragment 和前一个 Fragment 不消亡。前一个 Fragment 是指滑向当前 Fragment 的 Fragment,可能在当前 Fragment 的左边,也可能在右边。
举例:
假如有 A、B、C 三个 Fragment。
如何让程序来滑
2 是指第 2 个 Tab,不是指第 3 个。
相关阅读