Recyclerview - 如何在项目滑动(fling)上禁用垂直滚动

时间:2015-07-22 12:26:11

标签: android swipe android-recyclerview

简单的问题 - 如何在刷物品时禁用recyclerview滚动?我在recyclerView项目视图持有者中创建了OnTouchListener,但只有当用户使用直线水平线时它才会捕获滑动事件。否则回收列表正在滚动。有任何想法吗?

2 个答案:

答案 0 :(得分:3)

我没有使用ItemTouchHelper,因为它并没有完全按我的意愿行事。我通过检查它的来源并找到调用来解决这个问题:

getParent().requestDisallowInterceptTouchEvent(true)

当您确定用户已开始滑动(即移动超过几个像素)时,请调用此方法。然后在刷卡完成后,不要忘记用false再次拨打它。

答案 1 :(得分:1)

我面临着相反的问题。如果您使用的是ItemTouchHelper,请执行此操作

mItemTouchHelper.startSwipe(myViewHolder); 

这会强制滑动而不是滚动。