一次扫一个项目Recyclerview

我试图添加滚动侦听器回收视图,并作出了一些逻辑,但我无法一次刷一个项目。 我在互联网上做了一些search,但我有一些第三方库,有自定义回收视图。 我们可以在回收者视图中一次实施一个项目吗? 如果是的请告诉如何? 一个项目像这个图像一次滑动。

Solutions Collecting From Web of "一次扫一个项目Recyclerview"

我知道已经晚了,但其他人可能会觉得这很有帮助。 那时我没有别的select,所以我用https://github.com/lsjwzh/RecyclerViewPager库。 最近我发现了一个链接,在这里支持库中添加了新的东西。 我们可以使用v7支持库中的PagerSnapHelper。 喜欢 :

RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view); SnapHelper snapHelper = new PagerSnapHelper(); snapHelper.attachToRecyclerView(recyclerView); 

我知道这已经很晚了。

有一个非常简单的方法来获得所需的滚动行为与使用自定义的SnapHelper。

通过覆盖标准的(android.support.v7.widget.LinearSnapHelper)来创build自己的SnapHelper。

 public class SnapHelperOneByOne extends LinearSnapHelper{ @Override public int findTargetSnapPosition(RecyclerView.LayoutManager layoutManager, int velocityX, int velocityY){ if (!(layoutManager instanceof RecyclerView.SmoothScroller.ScrollVectorProvider)) { return RecyclerView.NO_POSITION; } final View currentView = findSnapView(layoutManager); if( currentView == null ){ return RecyclerView.NO_POSITION; } final int currentPosition = layoutManager.getPosition(currentView); if (currentPosition == RecyclerView.NO_POSITION) { return RecyclerView.NO_POSITION; } return currentPosition; } } 

这基本上是stadard的方法,但是不需要增加一个按滚动速度计算的跳转计数器。

如果快速滑动,下一个(或前一个)视图将居中(显示)。

如果您慢速轻扫,则当前居中的视图在释放后保持居中。

我希望这个答案仍然可以帮助任何人。

https://github.com/googlesamples/android-Horizo​​ntalPaging/

这有一些类似于你在图像中显示的东西的链接。 让我知道是否有额外的东西你正在寻找,我会链接相关的图书馆。

基本上ViewPager和recyclerView之间的区别在于,在recyclerView中,您正在许多项目之间切换,而在ViewPager中,您正在自身之间切换多个片段或独立页面。

我看到你正在使用这个https://github.com/lsjwzh/RecyclerViewPager ,你有什么特别的用例吗?