안드로이드
(Android) Recyclerview 에서 item간 일정한 간격 주는 방법
danune.dev
2022. 6. 13. 12:03
Recyclerview (ListView) 작업 시 item 간 간격을 일정하게 주기위한 팁입니다
보통 이런 고민을 하게 됩니다
- item layout에 layout_marginTop을 설정함 -> 가장 마지막 item 의 아래 공백이 없음
- item layout에 layout_marginBottom을 설정함 -> 첫번째 item의 위 공백이 없음
- item layout에 layout_marginVertical을 설정함 -> 첫번째 위 공백과 마지막 아래 공백크기만 다름
이를 해결하기 위해 item의 margin은 Top이나 Bottom만 주고 Recyclerview의 padding을 설정합니다
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="4dp"
android:clipToPadding="false"
android:orientation="vertical"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
위 코드처럼 paddingBottom을 주게되면, 마지막 아이템 아래쪽에 공백이 생깁니다. (paddingTop을 주면 첫번째 아이템위에 공백이 생기겠죠?)
주의할점은, paddingTop/paddingBottom 설정 시 clipToPadding을 설정해야 아이템 뒤에 자연스러운 공백이 생깁니다