我正在寻找一种方法来滚动 RecyclerView
以在顶部显示所选项目。
在 ListView
中,我可以通过使用 scrollTo(x,y)
并获取需要居中的元素的顶部来做到这一点。
类似:
@Override
public void onItemClick(View v, int pos){
mylistView.scrollTo(0, v.getTop());
}
问题是 RecyclerView
在使用它的 scrollTo
方法时返回错误
RecyclerView does not support scrolling to an absolute position
如何滚动 RecyclerView
以将所选项目置于 View 顶部?
最佳答案
如果您使用的是 LinearLayoutManager
或交错 GridLayoutManager
,它们每个都有一个 scrollToPositionWithOffset方法从 RecyclerView
的开头获取项目开始的位置和偏移量,这似乎可以完成您需要的操作(将偏移量设置为 0 应该与顶部对齐)。
例如:
//Scroll item 2 to 20 pixels from the top
linearLayoutManager.scrollToPositionWithOffset(2, 20);
关于android - 滚动 RecyclerView 以在顶部显示所选项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26875061/