티스토리 뷰

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을 설정해야 아이템 뒤에 자연스러운 공백이 생깁니다

 

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday