Android Studio RecyclerView + CardView 사용시 주의 해야 할 것

RecyclerView에다가 CardView를 뿌려줄 때 주의해야 하는 요소는 CardView의 layout_height(=layout_width)입니다.
만약 CardView의 layout_height가 match_parent일 경우 여러 개의 CardView가 뿌려져 있는 상황일 때 한 화면 전체를 CardView 1개가 화면 전체를 매꾸기 때문입니다.

위 사진은 NestedRecyclerView 상황에서 CardView의 layout_height가 match_parent라서 중간에 공백 모습을 확인할 수 있습니다. 실제로 여러 개의 CardView는 정상적으로 생성이 되지만 Test1이라 써져있는 CardView의 공백으로 Test1 아래의 CardView의 Text가 가려지게 됩니다.

반면 CardView의 layout_height가 wrap_content인 경우 정상적으로 출력되는 모습을 확인하실 수 있습니다.

제가 개발을 하면서 Inner RecycerView의 CardView가 match_parent인지도 모르고 3시간 동안 디버깅, 삽질을 하고 있었습니다…
CardView를 쓰실 때는 반드시 wrap_content인지 확인을 해야합니다.

특히나 RecyclerView가 1개일 때 CardView가 match_parent인 경우 눈으로 쉽게 확인을 할 수 있으나 NestedRecyclerView에서 Inner RecyclerView에 뿌려져 있는 CardView가 match_parent인 경우 CardView는 간격에 맞게 생성 되지만 내용물이 안 보이는 상황을 겪으실 수 있습니다.

Share

댓글

avatar
  댓글 알림  
알림