2012-07-06 29 views
5

Necesito el botón con el texto en el medio y el icono a la izquierda del texto.Botón con imagen y texto centrado

mi botón:

<Button 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:onClick="" 
      android:text="@string/search_button" 
      android:textColor="@drawable/button_text" 
      android:layout_weight="1" 
      android:background="@drawable/button" 
      android:drawableLeft="@drawable/new_star_nonactive" /> 

necesito botón con fill_parent ancho (todo el ancho de la pantalla)

pero tengo esto: enter image description here

¿Cómo puedo configurar el centro de posición de la imagen, cerca de la ¿texto?

Respuesta

14

Entonces, la única forma de hacerlo es utilizar el relleno. En su caso, desea que la imagen se mueva hacia la derecha, así que use android:paddingLeft="50dp" o la cantidad de inmersiones que desee mover.

EDITAR: También agregue android:gravity="left | center" para obtener el texto correcto con la imagen.

+7

pero no sé lo que el relleno .. en diferentes pantallas que será diferente compañero – yital9

+0

bien, esa es la La única manera de hacerlo. Además, creo que al especificar las caídas en el código xml y no en Java, Android lo respeta, aunque no del todo seguro. – Carnal

+0

o si quiere estar seguro, puede crear diferentes diseños para diferentes pantallas y ponerlos en layout-hdpi, layout-mdpi, etc. – Carnal

0

Prueba esto va definitivamente obtener el resultado:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 

    <Button 
     android:id="@+id/btn" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="hi" 
     android:textSize="24sp" 
     android:background="@drawable/wood"/> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/btn" 
     android:layout_alignBottom="@+id/btn" 
     android:layout_alignParentLeft="true" 
     android:layout_marginLeft="90dp" 
     android:background="@drawable/ic_launcher" 
     android:gravity="center" /> 

</RelativeLayout> 
0

probar esto,

<Button 
    android:background="@null" 
    android:layout_marginLeft="0dp" 
    android:text="HOME" 
    android:layout_width="62dp" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:textColor="#ffffff" 
    android:layout_height="50dp" 
    android:ellipsize="marquee" 
    android:drawableLeft="@drawable/icon_home" 
    android:id="@+id/homebtn" 
    android:singleLine="true" 
    android:textSize="10dp" 
    android:paddingTop="6dp" 
    android:layout_alignParentLeft="true"> 
    </Button> 
Cuestiones relacionadas