首页 > 解决方案 > 取消 RecyclerView 垂直投掷/滑动

问题描述

我目前正在检测特定视图何时对用户可见或消失并RecyclerView在该视图位置停止滚动。到目前为止,我已经能够在OnScrollListenerwith RecyclerView.stopScrolland的帮助下实现这一点RecyclerView.scrollTo,但现在唯一的问题是,如果用户翻动列表,它将超过该视图位置,因为翻动在滚动到之后仍然“起作用”位置已被调用,导致列表超出项目位置。

如何以编程方式结束用户投掷动作?类似的东西recyclerView.fling(0)存在吗?

标签: androidandroid-recyclerviewkotlin

解决方案


我最终使用LinearLayoutManager.scrollToPositionWithOffset目标的位置和 0 作为调用后的偏移量RecyclerView.stopScroll

到目前为止,当同时使用这两者时,投掷行为不再导致列表滚动超出预期位置。


推荐阅读