TabLayout+ViewPager+Fragment 实现多页面切换是一个挺常见的功能。
尤其是在资讯类app中,如今日头条。
这里记录一下项目中使用上述三个配合所实现的特定需求。
效果图如下:
描述下需求:
1、页面A,页面B。
2、页面A中有页面B的入口,即从A中点击某个item跳转到B页面。
3、B页面是由TabLayout + ViewPager + Fragment实现的。
4、B页面:默认一屏显示6个tab,对应也就是6个页面。
5、通常情况下,我们的数据是15,也就是TabLayout中tab的个数(当然实际数据是根据服务端所获取的集合的size)。
6、进入B页面时根据用户所选时间来显示,所选日期(<4,直接展示选中状态)(≥4,展示在固定的位置4(即第四天位置)),其余5天展示为该日期的前后时间。
7、页面切换时无明显过渡,尤其是跨页面切换,比如说从第一个页面,直接点击tab切换到第十个页面,不要出现有中间页面的效果。(具体看效果图更直观)
了解了需求,接下来就是实现了。
TabLayout有很多,有android自带的,也有很多三方的。这里不做介绍。
我选择了自定义实现。