你必须利用保证金.不是填充物.
StaggeredGridLayoutManager为每个网格项设置默认边距“30dp”.
它可以改变如下,
class StaggeredListDecoration extends RecyclerView.ItemDecoration {
public StaggeredListDecoration() {
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
BaseCard.CARD_TYPE viewType = (BaseCard.CARD_TYPE)view.getTag();
((StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams()).leftMargin = 0;
((StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams()).rightMargin = 0;
((StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams()).topMargin = 0;
((StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams()).bottomMargin= 0;
}
}