2015-07-20 175 views
2

enter image description here 我想實現類似於與GridLayoutManager結合上面的RecyclerView畫面的佈局,我嘗試設置基於位置的setSpanSizeLookup但不能模仿上面的設計..GridLayoutManager跨度大小RecycleView

任何人都可以幫忙嗎?

UPDATE

enter image description here

回答

9
private GridLayoutManager getGridLayoutManager() { 
    final GridLayoutManager manager = new GridLayoutManager(getActivity(), 6); 
    manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { 
     @Override 
     public int getSpanSize(int position) { 
      int index = postion % 5; 
      switch(index){ 
       case 0: return 2; 
       case 1: return 2; 
       case 2: return 2; 
       case 3: return 3; 
       case 4: return 3; 
      } 
      } 
    }); 
    return manager; 
} 

更新保證金

public class SpacesItemDecoration extends RecyclerView.ItemDecoration { 
    private int space; 

    public SpacesItemDecoration(int space) { 
     this.space = space; 
    } 

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