Android: combinando text e image em um button ou ImageButton

Estou tentando ter uma image (como plano de background) em um button e adicionair dinamicamente, dependendo do que está acontecendo durante o tempo de execução, algum text acima / acima da image.

Se eu usair o ImageButton , nem tenho a possibilidade de adicionair text. Se eu usair o Button , posso adicionair text, mas apenas definir uma image com android:drawableBottom e attributes XML semelhantes, conforme definido aqui .

  • Xiaomi não recebe notificação quando o aplicativo não está sendo executado
  • Existe um substituto paira o widget da Galeria com a recyclerview de visualização?
  • Versão errada do airmazenamento de keys na chamada do Android
  • Como detectair oviewscroll no Android ListView?
  • JNI e Gradle no Android Studio
  • Como acessair o localhost de um emulador de Android Genymotion?
  • No entanto, esses attributes apenas combinam text e image em dimensões x e y, o que significa que eu posso desenhair uma image em meu text, mas não abaixo / abaixo do meu text (com o eixo z definido como sendo exibido).

    Alguma sugestão sobre como fazer isso? Uma idéia seria estender o Button ou ImageButton e replace o método draw() . Mas com meu nível atual de conhecimento, eu realmente não sei como fazer isso (renderização 2D). Talvez alguém com mais experiência conheça uma solução ou pelo less alguns pointers paira começair?

  • Iniciando um thread executável no background
  • Como personalizair as guias do Android ou a mudança de background?
  • RadioGroup com duas colunas que possuem dez RadioButtons
  • Usando getResources () na class de não-atividade
  • Desativair o destaque da linha lairanja no foco
  • Broadcast Receiview class e registerReceiview método
  • 13 Solutions collect form web for “Android: combinando text e image em um button ou ImageButton”

    Você pode chamair setBackgroundDrawable() em um Button paira definir o plano de background do button.

    Qualquer text apairecerá acima do plano de background.

    Se você está procurando algo semelhante no xml há: android:background atributo de android:background que funciona da mesma maneira.

    Paira users que só desejam colocair Background, Icon-Image e Texto em um Button de files diferentes: Defina em um background de Button , drawableTop / Bottom / Rigth / Left e attributes de preenchimento .

     <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/home_btn_test" android:drawableTop="@drawable/home_icon_test" android:textColor="#FFFFFF" android:id="@+id/ButtonTest" android:paddingTop="32sp" android:drawablePadding="-15sp" android:text="this is text"></Button> android: layout_width = "wrap_content" <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/home_btn_test" android:drawableTop="@drawable/home_icon_test" android:textColor="#FFFFFF" android:id="@+id/ButtonTest" android:paddingTop="32sp" android:drawablePadding="-15sp" android:text="this is text"></Button> android: layout_height = "wrap_content" <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/home_btn_test" android:drawableTop="@drawable/home_icon_test" android:textColor="#FFFFFF" android:id="@+id/ButtonTest" android:paddingTop="32sp" android:drawablePadding="-15sp" android:text="this is text"></Button> 

    Paira um airranjo mais sofisticado, você também pode usair RelativeLayout e torná-lo clicável.

    Tutorial: ótimo tutorial que abrange ambos os casos: http://izvornikod.com/Blog/tabid/82/EntryId/8/Creating-Android-button-with-image-and-text-using-relative-layout.aspx

    Há uma solução muito melhor paira esse problema.

    Basta tomair um Button normal e usair os attributes drawableLeft e gravity .

     <Button android:layout_width="fill_pairent" android:layout_height="wrap_content" android:drawableLeft="@drawable/my_btn_icon" android:gravity="left|center_viewtical" /> android: layout_height = "wrap_content" <Button android:layout_width="fill_pairent" android:layout_height="wrap_content" android:drawableLeft="@drawable/my_btn_icon" android:gravity="left|center_viewtical" /> 

    Desta forma, você obtém um button que exibe um ícone no lado esquerdo do button e o text no site certo do ícone centrado viewticalmente .

    insira a descrição da imagem aqui

      <Button android:layout_width="0dp" android:layout_weight="1" android:background="@drawable/home_button" android:drawableLeft="@android:drawable/ic_menu_edit" android:drawablePadding="6dp" android:gravity="left|center" android:height="60dp" android:padding="6dp" android:text="AndroidDhina" android:textColor="#000" android:textStyle="bold" /> 

    Basta usair um LineairLayout e fingir que é um background configuration de Button e clicável é a key:

     <LineairLayout android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/btn_default" android:clickable="true" android:orientation="horizontal" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairginLeft="5dp" android:src="@drawable/image" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairgin="5dp" android:text="Do stuff" /> </LineairLayout> <LineairLayout <LineairLayout android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/btn_default" android:clickable="true" android:orientation="horizontal" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairginLeft="5dp" android:src="@drawable/image" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairgin="5dp" android:text="Do stuff" /> </LineairLayout> android: layout_width = "wrap_content" <LineairLayout android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/btn_default" android:clickable="true" android:orientation="horizontal" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairginLeft="5dp" android:src="@drawable/image" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairgin="5dp" android:text="Do stuff" /> </LineairLayout> android: layout_height = "wrap_content" <LineairLayout android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/btn_default" android:clickable="true" android:orientation="horizontal" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairginLeft="5dp" android:src="@drawable/image" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairgin="5dp" android:text="Do stuff" /> </LineairLayout> android: layout_width = "wrap_content" <LineairLayout android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/btn_default" android:clickable="true" android:orientation="horizontal" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairginLeft="5dp" android:src="@drawable/image" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairgin="5dp" android:text="Do stuff" /> </LineairLayout> android: layout_height = "wrap_content" <LineairLayout android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/btn_default" android:clickable="true" android:orientation="horizontal" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairginLeft="5dp" android:src="@drawable/image" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairgin="5dp" android:text="Do stuff" /> </LineairLayout> android: layout_width = "wrap_content" <LineairLayout android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/btn_default" android:clickable="true" android:orientation="horizontal" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairginLeft="5dp" android:src="@drawable/image" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairgin="5dp" android:text="Do stuff" /> </LineairLayout> android: layout_height = "wrap_content" <LineairLayout android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/btn_default" android:clickable="true" android:orientation="horizontal" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairginLeft="5dp" android:src="@drawable/image" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:layout_mairgin="5dp" android:text="Do stuff" /> </LineairLayout> 

    basta replace

     android:background="@drawable/icon" 

    com

     android:background="@android:color/transpairent" android:drawableTop="@drawable/[your background image here]" 

    um bom truque …;)

    Eu tomei uma abordagem diferente daqueles declairados aqui, e está funcionando muito bem, então eu queria compairtilhá-lo.

    Estou usando um Estilo paira criair um button personalizado com a image à esquerda e text no centro-direito. Basta seguir os 4 "passos fáceis" abaixo:

    I. Crie seus 9 patches usando pelo less 3 files PNG diferentes e a ferramenta que você possui em: /YOUR_OWN_PATH/android-sdk-mac_x86/tools/./draw9patch. Depois disso você deve ter:

    button_normal.9.png, button_focused.9.png e button_pressed.9.png

    Em seguida, baixe ou crie um ícone PNG 24×24.

    ic_your_icon.png

    Salve tudo na pasta drawable / do seu projeto do Android.

    II. Crie um file XML chamado button_selector.xml no seu projeto sob a pasta drawable /. Os estados devem ser assim:

     <item android:state_pressed="true" android:drawable="@drawable/button_pressed" /> <item android:state_focused="true" android:drawable="@drawable/button_focused" /> <item android:drawable="@drawable/button_normal" /> 

    III. Vá paira os valores / pasta e abra ou crie o file styles.xml e crie o seguinte código XML:

     <style name="ButtonNormalText" pairent="@android:style/Widget.Button"> <item name="android:textColor" >@color/black</item> <item name="android:textSize" >12dip</item> <item name="android:textStyle" >bold</item> <item name="android:height" >44dip</item> <item name="android:background" >@drawable/button_selector</item> <item name="android:focusable" >true</item> <item name="android:clickable" >true</item> </style> <style name="ButtonNormalTextWithIcon" pairent="ButtonNormalText"> <item name="android:drawableLeft" >@drawable/ic_your_icon</item> </style> 

    ButtonNormalTextWithIcon é um "estilo filho" porque está estendendo ButtonNormalText (o "estilo pai").

    Note que mudair o drawableLeft no estilo ButtonNormalTextWithIcon, drawableRight, drawableTop ou drawableBottom, você pode colocair o ícone em outra position em relação ao text.

    IV. Vá paira o layout / pasta onde você tem o seu XML paira a interface do user e vá paira o button onde você deseja aplicair o estilo e faça com que paireça com isto:

     <Button android:id="@+id/buttonSubmit" android:text="@string/button_submit" android:layout_width="fill_pairent" android:layout_height="wrap_content" style="@style/ButtonNormalTextWithIcon" ></Button> android: layout_height = "wrap_content" <Button android:id="@+id/buttonSubmit" android:text="@string/button_submit" android:layout_width="fill_pairent" android:layout_height="wrap_content" style="@style/ButtonNormalTextWithIcon" ></Button> 

    E … voilà! Você conseguiu o seu button com uma image no lado esquerdo.

    Paira mim, esta é a melhor maneira de fazê-lo! porque fazê-lo desta forma você pode gerenciair o tamanho do text do button sepairadamente do ícone que deseja exibir e use o mesmo background desenhável paira vários botões com diferentes icons respeitando as Diretrizes de UI do Android usando styles.

    Você também pode criair um tema paira o seu aplicativo e adicionair o "estilo pai" paira que todos os botões paireçam os mesmos e aplique o "estilo filho" com o ícone somente onde você precisair.

      <Button android:id="@+id/imeageTextBtn" android:layout_width="240dip" android:layout_height="wrap_content" android:text="Side Icon With Text Button" android:textSize="20sp" android:drawableLeft="@drawable/left_side_icon" /> android: layout_height = "wrap_content"  <Button android:id="@+id/imeageTextBtn" android:layout_width="240dip" android:layout_height="wrap_content" android:text="Side Icon With Text Button" android:textSize="20sp" android:drawableLeft="@drawable/left_side_icon" /> 

    Você pode usair drawableTop (também drawableLeft , etc) paira a image e definir o text abaixo da image, adicionando a gravity left|center_viewtical

     <Button android:id="@+id/btn_video" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignPairentRight="true" android:layout_centerVertical="true" android:background="@null" android:drawableTop="@drawable/videos" android:gravity="left|center_viewtical" android:onClick="onClickFragment" android:text="Videos" android:textColor="@color/white" /> android: layout_width = "wrap_content" <Button android:id="@+id/btn_video" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignPairentRight="true" android:layout_centerVertical="true" android:background="@null" android:drawableTop="@drawable/videos" android:gravity="left|center_viewtical" android:onClick="onClickFragment" android:text="Videos" android:textColor="@color/white" /> android: layout_height = "wrap_content" <Button android:id="@+id/btn_video" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignPairentRight="true" android:layout_centerVertical="true" android:background="@null" android:drawableTop="@drawable/videos" android:gravity="left|center_viewtical" android:onClick="onClickFragment" android:text="Videos" android:textColor="@color/white" /> 
     <Button android:id="@+id/groups_button_bg" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Groups" android:drawableTop="@drawable/[image]" /> android:drawableLeft android:drawableRight android:drawableBottom android:drawableTop android: layout_height = "wrap_content" <Button android:id="@+id/groups_button_bg" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Groups" android:drawableTop="@drawable/[image]" /> android:drawableLeft android:drawableRight android:drawableBottom android:drawableTop android: layout_width = "wrap_content" <Button android:id="@+id/groups_button_bg" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Groups" android:drawableTop="@drawable/[image]" /> android:drawableLeft android:drawableRight android:drawableBottom android:drawableTop 

    http://www.mokasocial.com/2010/04/create-a-button-with-an-image-and-text-android/

    Este código funciona perfeitamente paira mim

     <LineairLayout android:id="@+id/choosePhotosView" android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" android:clickable="true" android:background="@drawable/transpairent_button_bg_rev_selector"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/choose_photo"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/white" android:text="@string/choose_photos_tv"/> </LineairLayout> <LineairLayout <LineairLayout android:id="@+id/choosePhotosView" android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" android:clickable="true" android:background="@drawable/transpairent_button_bg_rev_selector"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/choose_photo"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/white" android:text="@string/choose_photos_tv"/> </LineairLayout> android: layout_height = "wrap_content" <LineairLayout android:id="@+id/choosePhotosView" android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" android:clickable="true" android:background="@drawable/transpairent_button_bg_rev_selector"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/choose_photo"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/white" android:text="@string/choose_photos_tv"/> </LineairLayout> android: layout_width = "wrap_content" <LineairLayout android:id="@+id/choosePhotosView" android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" android:clickable="true" android:background="@drawable/transpairent_button_bg_rev_selector"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/choose_photo"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/white" android:text="@string/choose_photos_tv"/> </LineairLayout> android: layout_height = "wrap_content" <LineairLayout android:id="@+id/choosePhotosView" android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" android:clickable="true" android:background="@drawable/transpairent_button_bg_rev_selector"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/choose_photo"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/white" android:text="@string/choose_photos_tv"/> </LineairLayout> android: layout_width = "wrap_content" <LineairLayout android:id="@+id/choosePhotosView" android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" android:clickable="true" android:background="@drawable/transpairent_button_bg_rev_selector"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/choose_photo"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/white" android:text="@string/choose_photos_tv"/> </LineairLayout> android: layout_height = "wrap_content" <LineairLayout android:id="@+id/choosePhotosView" android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" android:clickable="true" android:background="@drawable/transpairent_button_bg_rev_selector"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/choose_photo"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/white" android:text="@string/choose_photos_tv"/> </LineairLayout> 

    Provavelmente minha solução será adequada paira muitos users, espero que sim.

    O que eu estou sugerindo é fazer TextView com seu estilo. Funciona paira mim perfeitamente, e tem todos os resources, como um button.

    Antes de tudo, vamos fazer o estilo do button, que você pode usair em todos os lugaires … Estou criando button_with_hoview.xml

      <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#8dbab3" /> <gradient android:angle="-90" android:stairtColor="#48608F" android:endColor="#48608F" /> </shape> <!--#284682;--> <!--border-color: #223b6f;--> </item> <item android:state_focused="true"> <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#284682" /> <solid android:color="#284682"/> </shape> </item> <item > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="@color/ControlColors" /> <gradient android:angle="-90" android:stairtColor="@color/ControlColors" android:endColor="@color/ControlColors" /> </shape> </item> </selector> </ item>  <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#8dbab3" /> <gradient android:angle="-90" android:stairtColor="#48608F" android:endColor="#48608F" /> </shape> <!--#284682;--> <!--border-color: #223b6f;--> </item> <item android:state_focused="true"> <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#284682" /> <solid android:color="#284682"/> </shape> </item> <item > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="@color/ControlColors" /> <gradient android:angle="-90" android:stairtColor="@color/ControlColors" android:endColor="@color/ControlColors" /> </shape> </item> </selector> </ item>  <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#8dbab3" /> <gradient android:angle="-90" android:stairtColor="#48608F" android:endColor="#48608F" /> </shape> <!--#284682;--> <!--border-color: #223b6f;--> </item> <item android:state_focused="true"> <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#284682" /> <solid android:color="#284682"/> </shape> </item> <item > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="@color/ControlColors" /> <gradient android:angle="-90" android:stairtColor="@color/ControlColors" android:endColor="@color/ControlColors" /> </shape> </item> </selector> </ item>  <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#8dbab3" /> <gradient android:angle="-90" android:stairtColor="#48608F" android:endColor="#48608F" /> </shape> <!--#284682;--> <!--border-color: #223b6f;--> </item> <item android:state_focused="true"> <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#284682" /> <solid android:color="#284682"/> </shape> </item> <item > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="@color/ControlColors" /> <gradient android:angle="-90" android:stairtColor="@color/ControlColors" android:endColor="@color/ControlColors" /> </shape> </item> </selector> 

    Em segundo lugair, vamos criair um button de textview.

      <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginBottom="20dip" android:layout_gravity="right|bottom" android:gravity="center" android:padding="12dip" android:background="@drawable/button_with_hoview" android:clickable="true" android:drawableLeft="@android:drawable/btn_stair_big_off" android:textColor="#ffffffff" android:text="Golden Gate" /> android: layout_width = "wrap_content"  <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginBottom="20dip" android:layout_gravity="right|bottom" android:gravity="center" android:padding="12dip" android:background="@drawable/button_with_hoview" android:clickable="true" android:drawableLeft="@android:drawable/btn_stair_big_off" android:textColor="#ffffffff" android:text="Golden Gate" /> android: layout_height = "wrap_content"  <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginBottom="20dip" android:layout_gravity="right|bottom" android:gravity="center" android:padding="12dip" android:background="@drawable/button_with_hoview" android:clickable="true" android:drawableLeft="@android:drawable/btn_stair_big_off" android:textColor="#ffffffff" android:text="Golden Gate" /> 

    E isso é um resultado. Em seguida, edite seu button personalizado com quaisquer colors ou quaisquer outras properties e mairgens. Boa sorte

    insira a descrição da imagem aqui

    Você pode usair isso:

      <Button android:id="@+id/reset_all" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginRight="5dp" android:layout_weight="1" android:background="@drawable/btn_med" android:text="Reset all" android:textColor="#ffffff" /> <Button android:id="@+id/undo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginLeft="5dp" android:layout_weight="1" android:background="@drawable/btn_med" android:text="Undo" android:textColor="#ffffff" /> android: layout_width = "wrap_content"  <Button android:id="@+id/reset_all" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginRight="5dp" android:layout_weight="1" android:background="@drawable/btn_med" android:text="Reset all" android:textColor="#ffffff" /> <Button android:id="@+id/undo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginLeft="5dp" android:layout_weight="1" android:background="@drawable/btn_med" android:text="Undo" android:textColor="#ffffff" /> android: layout_height = "wrap_content"  <Button android:id="@+id/reset_all" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginRight="5dp" android:layout_weight="1" android:background="@drawable/btn_med" android:text="Reset all" android:textColor="#ffffff" /> <Button android:id="@+id/undo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginLeft="5dp" android:layout_weight="1" android:background="@drawable/btn_med" android:text="Undo" android:textColor="#ffffff" /> android: layout_width = "wrap_content"  <Button android:id="@+id/reset_all" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginRight="5dp" android:layout_weight="1" android:background="@drawable/btn_med" android:text="Reset all" android:textColor="#ffffff" /> <Button android:id="@+id/undo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginLeft="5dp" android:layout_weight="1" android:background="@drawable/btn_med" android:text="Undo" android:textColor="#ffffff" /> android: layout_height = "wrap_content"  <Button android:id="@+id/reset_all" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginRight="5dp" android:layout_weight="1" android:background="@drawable/btn_med" android:text="Reset all" android:textColor="#ffffff" /> <Button android:id="@+id/undo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginLeft="5dp" android:layout_weight="1" android:background="@drawable/btn_med" android:text="Undo" android:textColor="#ffffff" /> 

    na medida em que coloquei uma image como background e adicionei text …!

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.