使用SnapHelper让RecyclerView具备ViewPager的效果,实现炫酷Banner

对比原生效果

未具备ViewPager效果前.gif

使用后的效果

具备ViewPager效果后.gif

具体如何做?

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居中对齐。我们的例子中就是使用到了后者。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容