android - 允许 Recyclerview 项目滚动到 Recyclerview 顶部

标签 android android-recyclerview

我有一个 RecyclerView 列表,我希望其中当前选定的项目显示在 RecyclerView顶部。但是,我仍然希望整个列表可以滚动,因此,从所选项目上方删除 View 不是一个可行的解决方案。

看来我需要一种机制,让 RecyclerView 项目能够滚动到 RecyclerView 的边界之外。我不确定这是否可行,所以如果不可能,是否有人有解决方案来确保当前选定的项目滚动到 RecyclerView 的顶部。

我已经尝试过 smoothScrollToPosition() 但这在位于 RecyclerView 底部并希望中间项目之一滚动的情况下不起作用到顶部。

非常感谢

为了说明,我有一个包含 4 个项目的列表,recyclerview 无法滚动,因为列表中没有足够的项目。

enter image description here

然后我选择一个项目

enter image description here

然后我希望所选项目滚动到顶部,但上面的项目仍然可以滚动。

enter image description here

所以,当我向上滚动时...

enter image description here

最佳答案

RecyclerView 上设置一个等于项目高度三倍的底部填充,然后设置 android:clipToPadding="false"。这将使您的底部项目滚动到顶部并在底部项目上显示填充,但仅在底部项目上显示。

这里是 an answer一个类似的问题很好地阐述了这种技术。

关于android - 允许 Recyclerview 项目滚动到 Recyclerview 顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49033795/

相关文章:

java - 如何在旧版 Android 中降级 java.time 代码?

java - RecyclerView 中的 Android Spinner 选中时获取当前 View

android - 为什么没有通过回收站 View 测试?

android - RecyclerView 长按拖动重新排序摆动效果

android - 如何在具有嵌套 RecyclerViews 的多 View 适配器上正确使用 RecycledViewPool?

android - 在android中创建内存不足的位图

android - ImageView 正在调整大小,同时在其上绘制边框形状

java - 将盒装原语列表传递给 Google Cloud Endpoint

java - ConstraintLayout 内 RecyclerView 内的 Center ProgressBar

android - 如何在android studio中用另一个 fragment 替换一个 fragment