안드로이드에서 이미지 버튼을 만드는 것은 정말 쉽습니다.
C++ 등의 프로그램에서 버튼을 일일이 만들면서 작업하셨던 분들이라면 깜짝 놀랄 정도로 간단합니다.
XML을 이용해서 사용될 버튼의 이미지 설정만 해 놓은 다음,
실제 레이아웃(Layout) 관련 XML에서 해당 버튼을 background로 설정해주기만 하면 되거든요.
간단한 예제를 보도록 하겠습니다.
res 폴더의 drawable 폴더 아래 있는 btn_play_default.xml 이라는 파일입니다.
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- selected -->
<item
android:state_selected="true"
android:drawable="@drawable/player_default_btn_play_p"/>
<!-- pressed -->
<item
android:state_pressed="true"
android:drawable="@drawable/player_default_btn_play_p"/>
<!-- focused -->
<item
android:state_focused="true"
android:drawable="@drawable/player_default_btn_play_p"/>
<!-- disabled -->
<item
android:state_enabled="false"
android:drawable="@drawable/player_default_btn_play_dim"/>
<!-- default -->
<item
android:drawable="@drawable/player_default_btn_play"/>
</selector>
이렇게 버튼이 선택되었을 경우, 눌러진 경우, 포커스가 맞춰졌을 경우, 사용하지 못할 경우 또는
기본적으로 보여줄 이미지를 설정해 놓을 수 있습니다.
그리고 실제 layout.xml 에서 다음과 같이 ImageButton을 만든다음
background 설정을 해주면 됩니다.
<ImageButton
android:id="@+id/btnImgP_PlayAndPause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_play_default"/>
버튼이 클릭되었을 때나, 커서가 있을 경우 등 여러 가지 상황을 별도의 코드 입력없이 XML 만으로
간단하게 구현할 수 있습니다. +_+;