[android] CardView와 RecyclerView의 아이템 간의 간격 설정

Android 앱을 개발할 때, CardView와 RecyclerView를 함께 사용하여 아이템 목록을 표시하는 경우가 많습니다. 그런데 기본적으로 CardView와 RecyclerView를 사용하여 아이템을 표시할 때, 각각의 아이템들 사이에 간격이 없어서 레이아웃이 조밀하게 나타날 수 있습니다. 따라서 아이템들 사이의 간격을 조절하여 더 가독성 있는 목록을 만들기 위해서 다음과 같은 방법을 사용할 수 있습니다.

1. CardView 마진 설정

간격을 조절하기 위한 첫 번째 방법은 CardView의 마진을 설정하는 것입니다.

CardView의 XML 레이아웃 파일에서 다음과 같이 layout_margin 속성을 사용하여 위아래 또는 좌우의 마진을 지정할 수 있습니다.

<androidx.cardview.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:cardCornerRadius="8dp"
    app:cardElevation="4dp"
    android:layout_margin="8dp">
    
    <!-- CardView 안에 들어갈 내용들 -->

</androidx.cardview.widget.CardView>

2. RecyclerView 아이템 간 간격 설정

두 번째 방법은 RecyclerView의 아이템 간의 간격을 조절하는 것입니다.

RecyclerView의 아이템 간의 간격은 RecyclerView의 아답터에서 아이템 뷰의 레이아웃 파라미터를 설정하여 조절할 수 있습니다. 아래의 예시 코드에서는 아이템 간의 간격을 정하는 방법을 보여줍니다.

class MyAdapter : RecyclerView.Adapter<MyAdapter.ViewHolder>() {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
        // 뷰 홀더를 생성하는 부분
        val view = LayoutInflater.from(parent.context).inflate(R.layout.my_item_layout, parent, false)
        val layoutParams = view.layoutParams as ViewGroup.MarginLayoutParams
        layoutParams.bottomMargin = 16 // 아이템 간의 간격을 설정
        view.layoutParams = layoutParams
        return ViewHolder(view)
    }

    // 나머지 부분은 생략
}

결론

CardView와 RecyclerView를 사용하여 아이템 목록을 표시할 때, 간격을 조절하는 방법에 대해 알아보았습니다. 각각의 아이템에 마진을 설정하거나 RecyclerView 아답터에서 아이템 간의 간격을 조절하는 방법을 사용하여 보다 가독성 있는 목록을 만들 수 있습니다. 원하는 디자인에 맞게 적절한 방법을 선택하여 사용하면 됩니다.

이상으로 CardView와 RecyclerView의 아이템 간의 간격 설정에 대해 알아보았습니다.

참고문헌:

자세한 내용은 위의 링크에서 확인하실 수 있습니다.