Tengo un botón y un desplegable a la izquierda del texto, pero quiero que la imagen se acerca más a la de texto. Así que tengo que mover la imagen.

He definido android:drawableLeft pero el contenido del botón no está centrado.

Aquí está mi código:

<Button
    android:id="@+id/addsubject"
    android:layout_width="250dp"
    android:layout_height="wrap_content"
    android:drawableLeft="@drawable/ic_action_add"
    android:layout_centerHorizontal="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="20dp"
    android:text="@string/addsubject"
    android:textColor="@color/white"
    android:background="@drawable/custombutton1" />

Aquí es cómo se ve ahora:

Conjunto de dibujable posición dentro de botón

Y aquí es cómo me gustaría que fuera:

Conjunto de dibujable posición dentro de botón

Gracias!

trate de añadir android:gravity="center" a su xml?
Consulte stackoverflow.com/questions/3634191/….

OriginalEl autor Isaías | 2014-08-29

4 Comentarios

  1. 8

    probar este

     <Button
        android:id="@+id/addsubject"
        android:layout_width="160dip"
        android:layout_height="60dip"
        android:layout_gravity="center"
        android:drawableLeft="@drawable/ic_action_add"
        android:drawablePadding="2dip"
        android:gravity="center"
        android:paddingLeft="30dip"
        android:paddingRight="26dip"
        android:singleLine="true"
        android:text="@string/addsubject"
        android:textSize="13dip" />
    Eso es lo que estaba buscando! El truco fue el uso de drawableLeft y drawableRight y ajustar para caber. Gracias!

    OriginalEl autor Rakesh Rangani

  2. 2

    Puede utilizar LinearLayout como su botón mediante la adición de OnClickListener y personalizar como quieras.

    <LinearLayout          
        android:layout_width="160dip"
        android:layout_height="60dip"
        android:orientation="horizontal" 
        android:background="@drawable/custombutton1">
    
        <ImageView android:layout_height="wrap_content"
                   android:layout_width="wrap_content"
                   android:src="@drawable/ic_action_add"
                   android:layout_gravity="center"
                   android:layout_weight="1"
                   android:scaleType="center">
    
        </ImageView>
    
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/addsubject"
                  android:layout_gravity="center"
                  android:layout_weight="1"/>
    
    </LinearLayout>

    OriginalEl autor Pamir Cevikogullari

  3. 1

    El relleno entre el borde izquierdo del botón y del borde derecho del icono es controlado por android:paddingLeft de la propiedad. El relleno entre el icono y el texto se define por android:drawablePadding propiedad.

    Añadir estas dos propiedades para que el botón y establezca los valores que están contentos con el.

    <Button
        ...
        android:paddingLeft="24dp"
        android:drawablePadding="8dp"
        />

    OriginalEl autor sergej shafarenka

  4. 1

    Tengo este resultado simplemente poniendo estas propiedades con el botón específicamente

    <Button
        ...
        android:paddingLeft="60dp"
        android:drawablePadding="-50dp"
        android:gravity="center"
        android:drawableLeft="@drawable/your_button_icon"
        /> 

    Puede sintonizar con sus propios valores para los resultados deseados.

    Saludos 🙂

    sí, esto realmente funcionó!
    Gracias, funciona. Pero eliminar android:padding si la tienes. En otro caso, un icono de pie a la izquierda y un texto estará centrado. También el resultado depende de la anchura de un botón.
    La solución es mala, de esta manera el botón buscar de manera diferente en diferentes tamaños de pantalla.
    por favor, puedes proponer una solución mejor para este punto de vista(botón) que puede adaptarse a diferentes tamaños de pantalla?
    Tal vez el uso de SpannableString con ImageSpan es una opción. Aun no lo probé personalmente, así que no puedo dar un ejemplo específico.

    OriginalEl autor Imtiaz Abir

Dejar respuesta

Please enter your comment!
Please enter your name here