停止用户滚动以在RecyclerView上设置位置

时间:2015-02-26 23:15:09

标签: android scroll android-recyclerview

所以我遇到了一个问题,我对Android编程很新,自从我开始编写Android应用程序以来只有6-8周,所以我可能会失明并且看不到简单的答案,但这是我的问题:

我正在制作一个学校项目,我正在尝试开发一个与今天的日历分割视图(下面的那个)相似的日历

Image 1

所以我用一个GridLayoutManager创建了一个RecyclerView,如下所示:

Image 2

直到这里一切都很好,但我正在尝试实现在今天的日期设置日历的按钮,事情就是当我滚动时,然后使用scrollToPositionWithOffset设置RecyclerView位置(位置, 0);视图保持从第一次投掷中获得的动量,设置位置然后继续滚动直到动量消失

我搜索了很多寻找解决方案,当我使用gridView而不是RecyclerView时,我使用smoothScrollToPositionFromTop()停止滚动,然后使用setSelection()来定位它,但是gridView跳过了框架,我不得不更改,这里使用RecyclerView没有smoothScrollToPositionFromTop和smoothScrollToPosition不会停止滚动,scrollToPosition或scrollToPositionWithOffset也都没有。

发现了这一点但没有帮助Scroll RecyclerView to show selected item on top

以及其他许多没有帮助的人。

我考虑过实现自己的滚动逻辑,但当我调查它时,我的脑袋爆炸了,我不知道从哪里开始。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:40)

您是否知道RecyclerView有一个stopScroll()方法可以停止正在进行滚动?