fix(content): 전체 탭 grid 간격을 보정한다

This commit is contained in:
2026-06-25 12:23:12 +09:00
parent 33e137bc22
commit 00aac29d89
2 changed files with 20 additions and 4 deletions

View File

@@ -4,6 +4,7 @@ import android.graphics.Rect
import android.view.View
import androidx.recyclerview.widget.RecyclerView
import kr.co.vividnext.sodalive.extensions.dpToPx
import kotlin.math.roundToInt
fun RecyclerView.addContentHorizontalItemSpacing() {
if (itemDecorationCount == 0) addItemDecoration(ContentHorizontalItemDecoration())
@@ -28,10 +29,10 @@ private class ContentGridItemDecoration(
override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State) {
val position = parent.getChildAdapterPosition(view)
if (position == RecyclerView.NO_POSITION) return
val isLeftColumn = position % spanCount == 0
val halfGap = GRID_ITEM_GAP_DP.dpToPx().toInt() / 2
outRect.left = if (isLeftColumn) 0 else halfGap
outRect.right = if (isLeftColumn) halfGap else 0
val columnIndex = position % spanCount
val gap = GRID_ITEM_GAP_DP.dpToPx()
outRect.left = (columnIndex * gap / spanCount).roundToInt()
outRect.right = (gap - (columnIndex + 1) * gap / spanCount).roundToInt()
if (position >= spanCount) outRect.top = GRID_ITEM_VERTICAL_GAP_DP.dpToPx().toInt()
}
}