210202

[View] 상태 드로어블(StateListDrawable) 정리 본문

Android/View

[View] 상태 드로어블(StateListDrawable) 정리

dev210202 2020. 5. 29. 12:27

상태 드로어블이란?

- View의 상태에 따라 뷰에 보여줄 그래픽을 다르게 지정할 수 있게 해줌

ex) 버튼 클릭시 버튼의 색상변경

 

상태 드로어블 이용

/res/drawable 폴더에 xml을 만들면 최상위 태그는 <selector>가 되고 그 안에 <item> 태그를 넣은뒤 drawable 속성으로 이미지나 그래픽을 설정하여 화면에 보이게 할 수 있다. state_로 시작하는 속성들을 활용해서 해당하는 상태에 보여줄 이미지나 그래픽을 설정할 수 있다.

 

Ex Code

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true"  
android:drawable="@drawable/ic_thumb_up_selected" />

    <item android:drawable="@drawable/ic_thumb_up" />

</selector>

이렇게 만든 상태 드로어블을 View의 background 속성으로 지정해주면 사용할 수 있다.

<Button
    android:id="@+id/button"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:background="@drawable/thumb_up"
    />

참고 - https://www.edwith.org/boostcourse-android/lecture/20420/

Comments