0

我有一个使用RecyclerView的垂直滚动列表。我试图实现的布局是,当您向下滚动得足够远并到达特定项目时,如果您保持滚动浏览此项目,它将粘贴到屏幕的底部,而列表的其余部分继续滚动到其后面。目前它的实现是在RecyclerView上有一个滚动监听器,并根据需要手动调整粘滞视图的位置,但这很不方便,很难构建。让一个物品粘到RecyclerView的底部

有没有更简单的方法来拥有这种布局?我目前正在调查使用CoordinatorLayout,但我不确定它是否是正确的工具。

+0

我还没有试过这个,但之前做过类似的事情。听起来像你可以在onBindViewHolder中使用position和getItemViewType来做到这一点 - 也就是说,当你滚动过去的位置X时,每一个onBind调用之后都会检查“我们过去的位置X?&&这个位置是最后一个位置?如果是这样,返回一个视图类型,这是你想要显示的项目,否则返回一个正常的 –

+0

@SaikCaskey我不认为这会让项目在粘滞视图后部分滚动的灵活性。如在视图中,如果视图本身仍然是列表中的一个元素,则不能在粘滞视图中途滚动列表中的下一项。 – Zarwan

+0

你应该试验一下,看看有没有内置的逻辑来处理半滚动的视图。如果不这样做,也许你应该自己实施RecyclerView并构建一个粘性视图?我确信GitHub上的一些东西可以帮助你开始,而且你已经在处理低级别的问题了。 –

回答

1

您可以使用具有自定义行为的CoordinatorLayout完成此操作。该行为应该应用于粘滞视图,并使其在RecyclerView滚动时出现/消失。您必须在行为中覆盖onStartNestedScroll才能返回true以接收滚动更改的呼叫。

+0

你可以发布代码 –

+0

@Rahul我无法再访问它,这是在以前的实习中完成的。 – Zarwan

+0

任何想法是如何完成的? –