使用RecyclerView水平滑动显示item,一个item占整个屏幕宽度,或者item RecyclerView要完整显示完整的item(也有这种情况),然而基本写法水平滑动不会一个item一个item的显示完整,而是各自显示一部分。
思路:可以考虑广告的轮播图,效果就是像广告轮播图一样,左右滑动是显示整个item的。
那RecyclerView怎么实现呢,因为之前有看到文章使用RecyclerView实现广告轮播图,那肯定也是同样的问题存在。
很简单,只需要两行代码:
//加在setAdapter后面
PagerSnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(RecyclerView);
PagerSnapHelper,官方解释,PagerSnapHelper can help achieve a similar behavior to ViewPager.,就是让RecyclerView
能像ViewPager
一样工作。
PageSnapHelper衍生于SnapHepler,SnapHepler
是什么?从代码可以看出该组件本质上就是一个RecyclerView.OnFlingListener
public abstract class SnapHelper extends RecyclerView.OnFlingListener
SnapHepler
类是个抽象类,有两个实现类LinearSnapHelper
和PagerSnapHelper,使用方法很简单,直接带入(如上);