我想保存RecyclerView的位置,然后稍后重置。如果顶部项目只有一半可见,我可以用什么来保存这个偏移?
对于我正在使用的职位: findFirstCompletelyVisibleItemPosition()
要重置我正在使用的位置:
((LinearLayoutManager) recyclerView.getLayoutManager()).scrollToPositionWithOffset(position, offset);
但我不确定要作为偏移传递什么?
答案 0 :(得分:12)
您必须使用LinearLayoutManager
作为此内容。
LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager();
int position = manager.findFirstVisibleItemPosition();
View firstItemView = manager.findViewByPosition(position);
float Offset = firstItemView.getTop();
获取当前窗口中第一个项目的位置和偏移量。