我有一个 RecyclerView
列表,我希望当前选中的项目显示在 RecyclerView
的 top . 但是,我仍然希望整个列表可以滚动,因此,从所选项目上方删除视图不是一种可能的解决方案 .
我似乎需要一种机制,其中 RecyclerView
项目能够滚动超出 RecyclerView
的界限 . 我不确定这是否可行,如果不是,那么是否有人有解决方案确保当前所选项目滚动到 RecyclerView
的顶部 .
我已经尝试了 smoothScrollToPosition()
但是这不适用于位于 RecyclerView
底部的情况,并希望其中一个中间项目滚动到顶部 .
非常感谢
为了说明,我有4个项目的列表,由于列表中没有足够的项目,recyclerview无法滚动 .
然后我选择一个项目
然后,我希望所选项目滚动到顶部,但对于上面的项目仍然可滚动 .
所以,当我向上滚动时......
2 回答
在
RecyclerView
上设置一个底部填充,等于项目高度的三倍,然后设置android:clipToPadding="false"
. 这将让您的底部项目滚动到顶部并在底部项目上显示填充,但仅在底部项目上显示 .这是一个类似的问题,可以很好地解决这个问题 .
假设您的回收者视图上有点击监听器的项目,当用户点击您获得项目位置和视图的任何项目时,下面的代码对我有效
确保你的布局管理器来自这样的支持库
否则你将找不到findFirstVisibleItemPosition()方法等