2016-06-08 64 views
0

我有一個動態數量的元素的RecyclerView(元素的高度未預先知道)。如果所有元素的高度都小於屏幕高度,我想在元素之間添加相等的空格。有沒有簡單的方法來做這樣的事情?RecyclerView中的視圖之間的空間拉伸

謝謝!

CraniumRat

回答

0

使用這個類來動態地添加空間recyclerview:

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

如果設置列表或所有元素則變化也更新mVerticalSpaceHeight的高度之和。

加入這一行:

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