2016-06-08 15 views
0

Ich habe eine RecyclerView mit einer dynamischen Anzahl von Elementen (Die Höhen der Elemente ist nicht im Voraus bekannt). Wenn die Höhe aller Elemente kleiner als die Bildschirmhöhe ist, möchte ich gleiche Abstände zwischen den Elementen hinzufügen. Gibt es eine einfache Möglichkeit, so etwas zu tun?Stretch Raum zwischen den Ansichten in RecyclerView

Danke!

CraniumRat

Antwort

0

Verwenden Sie diese Klasse Raum dynamisch dem recyclerview hinzuzufügen:

public class VerticalSpaceItemDecoration extends RecyclerView.ItemDecoration { 

    private final int mVerticalSpaceHeight; 

    public VerticalSpaceItemDecoration(int mVerticalSpaceHeight) { 
     this.mVerticalSpaceHeight = mVerticalSpaceHeight; 
    } 

    @Override 
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, 
           RecyclerView.State state) { 
     outRect.bottom = mVerticalSpaceHeight; 
    } 
} 

Wenn Sie die Liste oder die Summe der Höhen aller Elemente ändert dann auch aktualisieren mVerticalSpaceHeight einrichten.

Fügen Sie diese Zeile:

rv.addItemDecoration(new VerticalSpaceItemDecoration(PUT THE CALCULATED HEIGHT IN HERE))

Verwandte Themen