03-2 드로어블 만들기

뷰의 배경 이미지

뷰의 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