2016-05-24 5 views
3

Ich habe eine RecyclerView mit einer LinearLayoutManager, die von einem Adapter mit Artikeln unterschiedlicher Höhe unterstützt wird. Gibt es eine Möglichkeit, der RecyclerView mitzuteilen, dass die Bildlaufposition so eingestellt wird, dass das Element X (mehr oder weniger) genau am unteren Bildschirmrand erscheint?RecyclerView: Stellen Sie die Bildlaufposition so ein, dass das Element unten in der Ansicht erscheint

Ich versuchte LinearLayoutManager.scrollToPosition(), aber dies wird das Element an der Spitze der Ansicht positionieren.

+0

DID nicht scrollToPosition() arbeiten? Nicht sicher über den unteren Bildschirmrand. –

+0

'scrollToPosition()' positioniert das Objekt am oberen Rand der Ansicht. Ich will das Gegenteil. –

+1

Hopp können Sie die Info über diesen Link anhängen und für einen Weg arbeiten. http://stackoverflow.com/questions/24989218/get-visible-items-in-recyclerview –

Antwort

1
MyAdapter mAdapter; 
RecyclerView recyclerView; 
List<ItemData> data = new ArrayList<>(); 
LinearLayoutManager llm = new LinearLayoutManager(this); 

versuchen, dies in OnCreate Methode

recyclerView = (RecyclerView) findViewById(R.id.recycler_view); 
recyclerView.setHasFixedSize(true); 
recyclerView.setLayoutManager(llm); 
llm.setStackFromEnd(true); 
mAdapter = new MyAdapter(data, getApplication()); 
recyclerView.setAdapter(mAdapter); 

und, wenn Sie ein Element einfügen versuchen diese

mAdapter.notifyItemInserted(data.size() - 1); 
llm.scrollToPosition(data.size() - 1); 
Verwandte Themen