我正在尝试为水平方向实现类似 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(使用前将#替换为@)