对比原生效果

使用后的效果

具体如何做?
Android中的写法:
PagerSnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(mRecyclerView);
kotlin中的写法:
var snapHelper: SnapHelper = PagerSnapHelper()
snapHelper.attachToRecyclerView(holder.banner_rv)
解析
SnapHelper是对RecyclerView的拓展,结合RecyclerView使用,能很方便的做出一些炫酷的效果。
方法解析:attachToRecyclerView: 将SnapHelper attach 到指定的RecyclerView 上。
SnapHelper是一个抽象类,要使用SnapHelper,需要实现它的几个方法。而 Google 内置了两个默认实现类,LinearSnapHelper和PagerSnapHelper 。
(1)LinearSnapHelper可以使RecyclerView 的当前Item 居中显示(横向和竖向都支持)
(2)PagerSnapHelper看名字可能就能猜到,使RecyclerView 像ViewPager一样的效果,每次只能滑动一页(LinearSnapHelper支持快速滑动), PagerSnapHelper也是Item居中对齐。我们的例子中就是使用到了后者。
网友评论