2016-11-18 5 views
8
nach oben

Ich habe die negative Marge für Produkte wie diese festgelegt: -Recyclerview - Overlap Artikel unten

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)); 

Dies bewirkt, dass das oberste Element das unterste und das nächste Element stapelt, nachdem das oberste Element es überlappt. Ich möchte, dass das oberste Element mit dem nächsten Element überlappt und so weiter.

Aktuelle Ansicht

enter image description here

Required Ansicht

enter image description here

Antwort

5

Versuchen Sie diesen Weg und machen Sie Ihre Recycler-Ansicht in umgekehrter Richtung.

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

Hier ist das Arbeitsbeispiel GitHub Link

+0

Perfekte Antwort! –

+1

@BilalHaiderMakki, Froh, dass es für dich geklappt hat. – Tasneem

+0

Wenn jemand den ItemDecorator von Bilal verwendet, wird die letzte Karte oben angezeigt. Stellen Sie also sicher, dass die Position, für die der Offset nicht aktiviert werden soll, nicht 0 ist, sondern itemCount - 1. Auch dieser Top-Gegenstand ist Gegenstand3, anstelle von Gegenstand1 – Boy

0

Versuchen Sie, diese Methode überschrieben.

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

Vielen Dank für Ihre Antwort. Schätze es wirklich. Ich glaube, du hast meine Frage nicht verstanden. Ich habe Bilder hinzugefügt, um meine Anforderungen besser zu verstehen. Bitte guck dir das an. –

+0

@BilalHaiderMakki Können Sie Ihren vollständigen Code veröffentlichen? – Sridhar

+0

hinzugefügt mehr Code. –