RecyclerView + SnapHelper实现炫酷ViewPager效果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RecyclerView + SnapHelper实现炫酷ViewPager效果相关的知识,希望对你有一定的参考价值。
参考技术A SnapHelper是Google 在 android 24.2.0 的support 包中添加的对RecyclerView的拓展,结合RecyclerView使用,能很方便的做出一些炫酷的效果。SnapHelper是一个抽象类 Google 内置了两个默认实现类,LinearSnapHelper和PagerSnapHelper。
这里我只使用了PagerSnapHelper做了一个案例:
全面解析:SnapHelper用法、原理,含演示效果对比+实现代码
参考技术A SnapHelper 是在 Android 24.2.0 的support 包中新添加的一个支持库,是对RecyclerView的拓展。SnapHelper旨在支持RecyclerView的对齐方式,通过计算对齐RecyclerView中TargetView 的指定点或者容器中的任何像素点,可以使RecyclerView实现类似于 ViewPager 的切换效果。
SnapHelper是对RecyclerView的一种拓展功能,支持snapping。SnapHelper通过处理RecyclerView的 fling ,来达到要展示的效果。
作用 :LinearSnapHelper,可滑动多页,居中显示。
作用 :每次只能滑动一页,居中显示。
Tips:
此外,在RecyclerViewAdapter中具备多个ViewType时,可能会遇到抛出异常问题:java.lang.IllegalStateException: An instance of OnFlingListener already set.(当Adapter中有多个ViewType时可能发生)。
具体解决方法 :参照我的另一篇博客: 完美解决:RecyclerViwe中使用SnapHelper报错:“An instance of OnFlingListener already set.”
应评论区“无相孤君”同学的要求,大家可以传送去看看我的这篇博客 : 用ViewPager实现轮播图:图片无限轮播+动态切换+小圆点切换+透明标题
以上是关于RecyclerView + SnapHelper实现炫酷ViewPager效果的主要内容,如果未能解决你的问题,请参考以下文章
全面解析:SnapHelper用法、原理,含演示效果对比+实现代码