제임스딘딘의
Tech & Life

개발자의 기록 노트/Android

[안드로이드] 이미지와 텍스트가 같이 들어간 버튼 만들기

제임스-딘딘 2010. 12. 30. 13:47

이미지와 텍스트가 같이 들어간 버튼 만들기

안드로이드 SDK(1.5기중)에는 버튼을 처리하는 클래스가 Button과 ImageButton 크게 두가지 있다. 


ImageButton이 내부에 이미지를 가지고 있는 버튼이고,  Button은 TextView를 상속하고 있기에 텍스트 버튼이라고 생각하기 쉬운데, 사실 그렇지 않다.

일반적으로 버튼을 표시할때 간단하게 해당 버튼의 기능을 시각화 하여 나타내는 간단한 Icon을 함께 넣어주는 경우가 많을텐데, 그런 경우 ImageButton대신 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"
/>



drawableLeft를 넣어서 만든 버튼의 모습이다.

혹시나 어렵게 직접 Layout을 써서 버튼을 구성하시고 계시는 분들이 있을까 하여 팁을 작성하였다. 


아이콘이 들어간 Android Button

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