GroupSnapHelper

Android Support Library v24.2.0 版中,RecyclerView 新增加了 OnFlingListener 接口, 同时提供了SnapHelper 抽象类和 LinearSnapHelper 实现类,用来处理在滚动过程中的定位。试用了一下 LinearSnapHelper , 使用的场景类似 WheelPicker 或 ViewPager,滚动后能将最接近 RecyclerView 中心的 closestItem 滚动居中。

想了一下,可以用这一特性来实现滑动一组 items ,代替 ViewPager 嵌套 RecyclerView 的情况。

如图: GroupSnapHelper

代码见 GroupSnapHelper

在 LinearSnapHelper 和 SnapHelper 之间绕了半天,发现其实实现起来也挺简单的,在 LinearSnapHelper 基础上根据查找到的 closestItem , 再查找计算包含 closestItem 的 item group 实际中心 item 和 距离。

Author

Relex

Android Developer