GridLayoutManager是把item均分成列数,outRect的参数是指item在均分的空间内的上下左右边距
class SpaceItemDecoration(var mSpace: Int = 0) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(
outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State
) {
val position = parent.getChildAdapterPosition(view)
val space =
mRecyclerView.width - DEFAULT_COLUMN_SIZE * resources.getDimensionPixelSize(R.dimen.mainframe_bottom_tab_bar_height)
val eachSpace = space / (DEFAULT_COLUMN_SIZE - 1)
val column = position % DEFAULT_COLUMN_SIZE
outRect.left = column * eachSpace / DEFAULT_COLUMN_SIZE
outRect.right =
eachSpace - (column + 1) * eachSpace / DEFAULT_COLUMN_SIZE
}
}