RecyclerView 中类似寻呼机的行为

2024-01-07

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

我已经拥有所有项目转换逻辑。我正在使用自定义LayoutManager,这会覆盖onSmoothScrollToPosition()与定制LinearSmoothScroller()它将项目粘贴到左侧。

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


本机 Android 解决方案涵盖this https://rubensousa.github.io/2016/08/recyclerviewsnappost 是让 RecyclerView 表现得像 ViewPager 的超级简单方法。

相关位:

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RecyclerView 中类似寻呼机的行为 的相关文章

随机推荐