RecyclerView + SnapHelper实现的炫酷ViewPager效果

综合技术 2018-12-09 阅读原文

目录

image.png

什么是SnapHelper

SnapHelper是Google 在 Android 24.2.0 的support 包中添加的对RecyclerView的拓展,结合RecyclerView使用,能很方便的做出一些炫酷的效果。

SnapHelper的使用方法

SnapHelper是一个抽象类 Google 内置了两个默认实现类,LinearSnapHelper和PagerSnapHelper。

  • LinearSnapHelper:使当前Item居中显示,常用场景是横向的RecyclerView, 类似ViewPager效果,但是又可以快速滑动多个条目。
LinearLayoutManager manager = new LinearLayoutManager(getContext());
manager.setOrientation(LinearLayoutManager.VERTICAL);
mRecyclerView.setLayoutManager(manager);
LinearSnapHelper snapHelper = new LinearSnapHelper();
snapHelper.attachToRecyclerView(mRecyclerView);
  • PagerSnapHelper:使RecyclerView 像ViewPager一样的效果,每次只能滑动一页。
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
mRecycleview.setLayoutManager(linearLayoutManager);
PagerSnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(mRecycleview);

这里我只使用了PagerSnapHelper做了一个案例:

image.png

注‘Android技术交流群878873098,欢迎大家加入交流,畅谈!本群有免费学习资料视频’并且免费分享源码解析视频

项目源码: https://github.com/myml666/SnapHelperDemo

链接: https://www.jianshu.com/p/f23f6271a074

简书

责编内容by:简书阅读原文】。感谢您的支持!

您可能感兴趣的

Unable to retrieve last item in endless scroll Rec... I have an endless Recycler View, which contains data from a online forum thread extracted using JSoup. The recyclerview ...
Android ViewPager inside ViewPager Im currently facing problem with putting a ViewPager Inside another ViewPager,both swipeable. I have created my first Vi...
ScrollView嵌套RecyclerView滑动冲突相关问题... 最近实际应用中遇到了滑动冲突的相关问题,在解决过程中,有些需要注意的问题,特别记录一下。 一、应用场景 在解决具体问题之前,先介绍下实际应用场景及问题状况。 从图中可以看出,一个ScrollView内部嵌套三...
Android无限循环轮滑Banner实现方案总结 在APP中,经常会在一些页面看到可以无限循环滑的Banner位置,可惜苦逼于android原生的控件中并没有提供这样的View,那我们只能另辟蹊径,自己造轮子。其实,这样的自定义控件各路大神都有各种实现方式,还有支持各种炫酷的UI效果...
MAndroid 开源库之Viewpager 新的篇章 之前做了一个 Android ui 2018 但是有朋友反馈说,开源库内容不错,但是有点太多了,不便于查找,希望我做个开源库整理,听到这个需求,我面对1800+的开源库,竟然有点不好下手,想来想去,我决定将这个开源库进行整理...