首页 > 解决方案 > 区分 Android RecyclerView 中的手动和自动滚动

问题描述

这可能是一个基本问题,但我有一种情况,我设置了 recyclerview 的自动滚动(循环通过数据对象、视图持有者和应用滚动到位置的组合)。

我所做的疏忽是关于当用户试图重新获得对滚动的控制时如何处理这种情况?

问题:如何区分用户试图获得控制权(手动滚动)和我的循环试图滚动?

已经尝试过的解决方案:使用自定义布局管理器,覆盖 calculatespeedperpixel 并提供自定义值。现在当用户尝试手动滚动时,如果滚动速度与我的自定义值不匹配,我们可以假设是用户滚动。

这是一个骇人听闻的解决方法,并不总是万无一失

标签: androidandroid-layoutandroid-recyclerviewrecyclerview-layout

解决方案


为 recyclerview 设置触摸侦听器,当它触发您暂停滚动并在一段时间后自动触发。


推荐阅读