Skip to content

Instantly share code, notes, and snippets.

@bigstark
Created June 6, 2020 21:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bigstark/e06a5b1c23f10591d7821290729563e2 to your computer and use it in GitHub Desktop.
Save bigstark/e06a5b1c23f10591d7821290729563e2 to your computer and use it in GitHub Desktop.
// 참고로 안돌려보고 여기에서 대충 만든거라 컴파일 에러날 확률이 매우 높습니다.
override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State) {
super.getItemOffsets(outRect, view, parent, state)
outRect.setEmpty()
val position = parent.getChildAdapterPosition(view).takeIf { it != RecyclerView.NO_POSITION } ?: run {
return
}
val space = 20.dp
val layoutManager = parnet.layoutManager as? GridLayoutManager ?: return
val n = getSpanSize(layoutManager) // spanSizeLookUp 을 이용하여 spanSize 를 가져오면됨
val k = getSpanIndex(layoutManager, position) // spanSizeLookUp 을 이용하여 spanIndex 를 가져오면됨
outRect.left = k * space / n
outRect.right = s - (k + 1) * space / n
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment