2017-03-28 6 views
2

Ich möchte die Position meiner RecyclerView speichern und dann später zurücksetzen. Wenn das oberste Element nur halb sichtbar ist, was verwende ich, um diesen Offset zu speichern?Wie bekomme ich Offset für RecyclerView?

Für die Position Ich verwende: findFirstCompletelyVisibleItemPosition()

die Position zurücksetzen Ich verwende:

 ((LinearLayoutManager) recyclerView.getLayoutManager()).scrollToPositionWithOffset(position, offset); 

Aber ich bin nicht sicher, was als Offset zu übergeben?

Antwort

7

Sie müssen LinearLayoutManager wie diese verwenden ..

LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager(); 
int position = manager.findFirstVisibleItemPosition(); 
View firstItemView = manager.findViewByPosition(position); 
float Offset = firstItemView.getTop(); 

Und die Position erhalten und im aktuellen Fenster des ersten Punkt versetzt.

Verwandte Themen