我正在寻找一种滚动 RecyclerView
以在顶部显示所选项目的方法。
在 ListView
我可以通过使用 scrollTo(x,y)
并获得需要居中的元素的顶部来做到这一点。
就像是:
@Override
public void onItemClick(View v, int pos){
mylistView.scrollTo(0, v.getTop());
}
问题是 RecyclerView
使用它时返回错误 scrollTo
方法说
RecyclerView 不支持滚动到绝对位置
如何滚动 RecyclerView
以将所选项目放在视图顶部?
原文由 Distwo 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您使用的是
LinearLayoutManager
或 StaggeredGridLayoutManager
,则它们每个都有一个 scrollToPositionWithOffset 方法,该方法同时获取项目开始的位置和偏移量RecyclerView
,这似乎可以满足您的需求(将偏移量设置为 0 应该与顶部对齐)。例如: