[android] CardView와 기기 회전 처리

안녕하세요! 안드로이드 앱을 개발하다보면 UI 요소인 CardView를 활용하는 경우가 많습니다. 또한, 사용자 기기의 화면이 회전될 때 UI를 올바르게 유지하기 위해 추가적인 처리를 해야 합니다.

이 블로그 포스트에서는 CardView를 활용하고, 기기의 회전에 따른 UI 처리를 하는 방법에 대해 알아보겠습니다.

CardView란 무엇인가요?

CardView는 안드로이드에서 제공하는 UI 컴포넌트로, 그림자와 모서리 둥근 모양으로 구성된 카드 형태의 UI를 만들 수 있습니다. 주로 목록이나 그리드 형태의 데이터를 표시할 때 사용됩니다. CardView는 일반적으로 RecyclerView와 함께 사용되어 데이터를 표시하며 클릭 이벤트를 처리할 때 많이 활용됩니다.

CardView 사용 예시

다음은 CardView를 사용하여 리스트 아이템을 표시하는 간단한 예시 코드입니다.

<androidx.cardview.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:cardCornerRadius="8dp"
    app:cardElevation="4dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="16dp"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Title"
            android:textSize="18sp" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Description" />

    </LinearLayout>

</androidx.cardview.widget.CardView>

위의 코드는 CardView 안에 제목과 설명을 가진 간단한 리스트 아이템을 정의한 것입니다.

기기 회전 시 UI 처리

기기가 회전될 때, 액티비티 또는 프래그먼트의 레이아웃을 적절하게 변경하여 UI를 유지해야 합니다. 이를 위해 다음과 같은 방법들을 활용할 수 있습니다.

  1. onSaveInstanceState()onRestoreInstanceState() 메서드를 활용하여 데이터 상태 저장 및 복원
  2. configChanges 속성을 활용하여 AndroidManifest.xml 파일에 회전에 대한 변경 사항 명시

위의 방법들을 사용하여 회전시 발생하는 문제점을 해결하고, 사용자가 앱을 편리하게 사용할 수 있도록 도와줄 수 있습니다.

이상으로 CardView의 기본적인 사용 방법과 기기 회전에 따른 UI 처리에 대해 알아보았습니다. 안드로이드 개발 시 유용하게 활용할 수 있는 정보였길 바랍니다.

참고문헌 : Google Android Developers - CardView Google Android Developers - Handling Configuration Changes