问题
I'm trying to achieve a layout similar to the picture above with the RecyclerView in conjunction with the GridLayoutManager, i tried setting the setSpanSizeLookup based on position but couldn't mimic the design above..
anyone could help please?
UPDATE
回答1:
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;
}
Update for Margin
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;
}
}
来源:https://stackoverflow.com/questions/31511700/gridlayoutmanager-span-size-recycleview