2016-11-18 13 views
8

Mam ustawiony margines negatywny przedmiotów tak: -Recyclerview - nakładania elementów dołu do góry

ItemDecoration.java

public class ItemDecorator extends RecyclerView.ItemDecoration { 
    private final int mSpace; 

    public ItemDecorator(int space) { 
     this.mSpace = space; 
    } 

    @Override 
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { 
     int position = parent.getChildAdapterPosition(view); 
     if (position != 0) 
      outRect.top = mSpace; 
    } 
} 

MainActivity.java

recyclerView.setLayoutManager(new LinearLayoutManager(this)); 
recyclerView.addItemDecoration(new ItemDecorator(-80)); 

Powoduje to, że górny przedmiot jest ustawiony na najniższy, a następny element, po tym jak górny element pokrywa się z nim. Chcę, aby górny element nakładał się na następny element i tak dalej.

Bieżący widok

enter image description here

Wymagane Zobacz

enter image description here

Odpowiedz

5

Spróbuj w ten sposób i odwróć widok recyklera w odwrotnym kierunku.

LinearLayoutManager layoutManager = new LinearLayoutManager(this); 
     layoutManager.setReverseLayout(true); 
     layoutManager.setStackFromEnd(true); 
     recyclerView.setLayoutManager(layoutManager); 

Oto przykład roboczych GitHub Link

+0

Doskonała odpowiedź! –

+1

@BilalHaiderMakki, Cieszę się, że udało się. – Tasneem

+0

Jeśli ktoś używa ItemDecorator Bilala, kiedy to zrobisz, ostatnia karta będzie na górze. Dlatego upewnij się, że pozycja, na której nie chcesz, aby offset był ustawiony na zero, nie jest równy 0, ale itemCount - 1. Również ten top item będzie item3, zamiast item1 – Boy

0

Spróbuj nadrzędnymi tej metody.

@Override 
public int getItemViewType(int position) { 
    return super.getItemViewType(position); 
} 
+0

Dzięki za odpowiedź. naprawdę to doceniam. Myślę, że tęsknisz za zrozumieniem mojego pytania. dodałem zdjęcia, aby lepiej zrozumieć moje wymagania. Proszę spojrzeć. –

+0

@BilalHaiderMakki Czy możesz opublikować swój pełny kod? – Sridhar

+0

dodał więcej kodu. –