布局文件中设置要显示几列
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2" />
recyclerview.addItemDecoration(new RecyclerView.ItemDecoration() {
@Override
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
int position = parent.getChildAdapterPosition(view);
int space = 5;
//根据position确定item需要留出的位置
switch (position % 2) {
case 0:
//位于左侧的item
outRect.right = space;
break;
case 1:
//位于右侧的item
outRect.left = space;
break;
default:
break;
}
//底部间距
outRect.bottom = 12;
}
});