버튼 눌렀을 때 효과 주기
버튼을 눌렀을 때 효과를 주기 위해선 새로운 버튼 이미지를 만들어야 한다.
버튼이 눌렸을 때와 안 눌렸을 때 상태 정의를 하기 위해 selector 라는 것을 명시해 주어야 하는데 이 selector는 res/drawable 디렉토리에 생성해준다.
my_button.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/mybutton_press”/>
<item android:drawable=”@drawable/mybutton”/>
</selector>
<selector xmlns:android=”http://schemas.android.com/apk/res/android”>
<item android:state_pressed=”true”
android:drawable=”@drawable/mybutton_press”/>
<item android:drawable=”@drawable/mybutton”/>
</selector>
mybutton_press 이미지는 눌렸을 때 이미지
mybutton 이미지는 normal 상태의 이미지를 정의한다.
main.xml
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
>
<Button android:id=”@+id/btnmusic”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_marginBottom=”10dp”
android:background=”@drawable/my_button”
/>
</LinearLayout>
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
>
<Button android:id=”@+id/btnmusic”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_marginBottom=”10dp”
android:background=”@drawable/my_button”
/>
</LinearLayout>
실제 정의한 selector 를 사용하기 위해선 해당 selector가 정의된 xml 파일을 background 이미지로 설정하면 된다.