在实际开发中我们会用RecyclerView做列表,在滑动的时候我们希望我们滚动停止的时候,可见是一个完整的item,这样达到更好的体验效果。
RecyclerView+SnapHelper 就能实现我们的效果
SnapHelper
SnapHelper 的实现原理是监听RecyclerView.OnFlingListener中的onFling接口。LinearSnapHelper是抽象类SnapHelper的具体实现。
通过LinearSnapHelper,可以使RecyclerView实现类似ViewPager的功能,无论怎么滑动最终停留在某页正中间。
使用自带的SnapHelper ,能让列表在滚动停止的时候item是居中显示的。
效果:
LinearSnapHelper mLinearSnapHelper = new LinearSnapHelper();
mLinearSnapHelper.attachToRecyclerView(recy);
在实际开发过程中我们肯定会多种需要,比如滚动的时候i靠近第一item显示完整,又或者是最后一个item显示完整。已经有人写啦,地址:https://github.com/rubensousa/RecyclerViewSnap
参考大神:
http://blog.csdn.net/whitley_gong/article/details/52421215