【问题标题】:Remove default spacing in recycler view grid layout删除回收站视图网格布局中的默认间距
【发布时间】:2016-07-04 09:35:22
【问题描述】:
我正在使用StaggeredGridLayout manager 来查看回收站
mStaggerGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager
.VERTICAL);
现在,我想删除列和行之间的默认间距。类似于这张图片,但只有 2 列。
【问题讨论】:
标签:
android
gridview
android-recyclerview
【解决方案1】:
你必须玩弄边距。不是填充。
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;
}
}