안드로이드 SDK(1.5기중)에는 버튼을 처리하는 클래스가 Button과 ImageButton 크게 두가지 있습니다. ImageButton이 내부에 이미지를 가지고 있는 버튼이고,  Button은 TextView를 상속하고 있기에 텍스트 버튼이라고 생각하기 쉬운데 그렇지 않습니다. 일반적으로 버튼을 표시할때 간단하게 기능을 나타내는 Icon을 함께 넣어주는 경우가 많을텐데 그런 경우 Button을 활용해서 처리할 수 있습니다.

이미지의 위치는 텍스트의 상, 하, 좌, 우에 위치시킬 수 있으며 Xml에서는 각각 android:drawableTop, android:drawableBottom, android:drawableLeft, android:drawableRight에 drawable값을 넣어줌으로써 처리 가능합니다. 그리고 텍스트와 이미지간의 간격은 android:drawablePadding값으로 설정할수 있습니다.


<Button
android:layout_width="fill_parent"
android:layout_width="wrap_content"
android:drawableLeft="@drawable/ic_settings"
android:drawablePadding="4dp"
android:text="Settings"
/>

button_drawable.jpg

drawableLeft를 넣어서 만든 버튼의 모습입니다. 혹시나 어렵게 직접 Layout을 써서 버튼을 구성하시고 계시는 분들이 있을까 하여 팁을 작성하여 놓습니다.

안드로이드 어플을 작성한지 1년 반이 되가는데 가끔 새로나온 SDK의 기능을 못보고 옛날 스타일로 작성하는 경우도 종종 있고, 웹의 소스들도 오래된 것들이 많아서 새로 SDK나올때마다 중요한 부분들은 정리를 해서 체크해봐야하는데 쉽지 않네요. 옛날 옛적에는 그림 들어간 버튼을 직접 작성해서 써야 했거든요. :)

- SDK 1.0에서 1.5 까지에서 테스트 되었습니다.