RecyclerView中类似寻呼机的行为

Kel*_*dos 10 android android-recyclerview

我正在尝试为水平实现类似ViewPager的行为RecyclerView.来自适配器的数据应该正常膨胀和绑定,但是Recycler应该以不同方式处理通过它的导航.当用户滑动(或尝试滚动)时,我Recycler向该方向移动一个项目,将其粘贴到左侧.

我已经拥有了所有项目转换逻辑.我正在使用一个自定义LayoutManager,它覆盖onSmoothScrollToPosition()了一个自定义LinearSmoothScroller()项目,左边的项目粘贴.

问题是 - 如何覆盖RecyclerView滑动的滚动行为并自己处理它们?我尝试禁用滚动LayoutManager然后拦截手势onTouchListener,但这似乎不起作用.RecyclerView框架是否有一个干净的方法来处理这个问题?

sor*_*ter 19

涵盖了原生的Android解决这个职位是一个超级简单的方法来获得RecyclerView表现得像一个ViewPager.

相关位:

24.2.0版本的支持库引入了两个新类(SnapHelper和LinearSnapHelper),它们应该用于处理RecyclerView中的捕捉.....唯一需要的代码是:

SnapHelper snapHelper = new LinearSnapHelper(); snapHelper.attachToRecyclerView(recyclerView);

SnapHelper snapHelper = new GravitySnapHelper(Gravity.START); snapHelper.attachToRecyclerView(startRecyclerView);

  • PagerSnapHelper 是扩展 SnapHelper 的另一个可用类。如果您想要类似分页的行为,它会很有效。 (7认同)

Aks*_*125 2

将您的附加RecyclerViewSnapHelper

官方文档

图书馆