[android] CardView의 터치 효과

안녕하세요! 안드로이드 앱 개발을 하시는 분들을 위해 CardView의 터치 효과에 대해 알아보겠습니다. CardView는 안드로이드에서 카드 형식의 UI를 만들 때 편리하게 사용할 수 있는 라이브러리입니다. 사용자가 CardView를 터치했을 때 피드백을 제공하는 것은 사용자 경험에 긍정적인 영향을 미칠 수 있습니다.

CardView에 터치 효과 추가하기

방법 1: Ripple 효과 사용하기

Ripple 효과는 마테리얼 디자인 가이드라인에 따라 표준적으로 사용되는 터치 효과입니다. CardView에 Ripple 효과를 추가하려면 해당 CardView를 감싸는 레이아웃의 속성으로 android:foreground를 설정하면 됩니다. 예를 들어, LinearLayout을 사용하는 경우 다음과 같이 설정할 수 있습니다.

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:foreground="?android:attr/selectableItemBackground"
    ...>
    
    <androidx.cardview.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        ...>
        <!-- CardView의 내용 -->
    </androidx.cardview.widget.CardView>
</LinearLayout>

방법 2: Custom Selector 사용하기

Ripple 효과 이외에도 Custom Selector를 사용하여 특정 상황에 따라 다른 터치 효과를 적용할 수 있습니다. CardView를 감싸는 레이아웃의 속성으로 android:foreground에 Custom Selector를 지정할 수 있습니다. 선택 상태에 따라 다른 터치 효과를 적용하고 싶은 경우 Custom Selector를 사용하는 것이 유용합니다.

마치며

CardView에 터치 효과를 추가하여 사용자가 화면과 상호작용할 때 더욱 직관적이고 편리한 경험을 제공할 수 있습니다.

더 많은 정보를 원하시는 경우 안드로이드 공식 문서를 참고하시기 바랍니다.

이상으로 CardView의 터치 효과에 대한 내용을 마치도록 하겠습니다. 감사합니다!