뷰의 background 속성으로 배경색을 설정하거나 배경 이미지를 설정할 수 있다.
버튼의 배경을 이미지로하면 버튼을 눌렀을때, 누르지 않았을 때가 구분이 되지 않는다.
드로어블을 사용하면 상태에 따라 그래픽인 이미지가 선택적으로 보이게 해준다.
드로어블은 뷰에 설정할 수 있는 객체이며 그 위에 그래픽을 그릴 수 있다.
드로어블 XML파일은 이미지를 버튼 배경으로 설정한 것처럼 /app/res/drawable폴더 안에 넣어 버튼(뷰)의 배경을 설정할 수 있다.
다양한 기능의 드로어블이 있다.
앱을 만들 때 가장 많이 사용되는 드로어블은 상태 드로어블과 셰이프 드로어블이다.
서로 다른 비트맵 파일을 참조하는 XML
최상위 태그인 <selector> 태그 안에는 <item>태그를 넣을 수 있으며, <item> 태그의 drawable 속성에는 이미지나 다른 그래픽을 설정하여 화면에 보여줄 수 있다.
state_
로 시작하는 속성은 상태를 나타낸다. state_pressed
속성은 눌린 상태, state_focused
속성은 포커스를 받은 상태이다.
// thumbup_drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="<http://schemas.android.com/apk/res/android>">
<item android:state_pressed="true"
android:drawable="@drawable/ic_baseline_thumb_up_24"/>
<item android:drawable="@drawable/ic_outline_thumb_up_24"/>
</selector>
버튼의 background 속성을 @drawable/thumbup_drawable
로 변경한다.
색상과 그라데이션을 포함하여 기하학적 모양을 정의하는 XML