Como mencionó Cephus android:drawablePadding
, solo forzará el relleno entre el texto y el dibujo si el botón es lo suficientemente pequeño.
Al diseñar botones más grandes, puede usarlos android:drawablePadding
junto con android:paddingLeft
y android:paddingRight
para forzar el texto y el dibujo hacia el centro del botón. Al ajustar el relleno izquierdo y derecho por separado, puede realizar ajustes muy detallados en el diseño.
Aquí hay un botón de ejemplo que usa relleno para acercar el texto y el icono de forma predeterminada:
<Button android:text="@string/button_label"
android:id="@+id/buttonId"
android:layout_width="160dip"
android:layout_height="60dip"
android:layout_gravity="center"
android:textSize="13dip"
android:drawableLeft="@drawable/button_icon"
android:drawablePadding="2dip"
android:paddingLeft="30dip"
android:paddingRight="26dip"
android:singleLine="true"
android:gravity="center" />
passwordToggleDrawable
espacio de relleno izquierdo se vuelva más grande, ya que no puede especificar el objetivo solo a la izquierda.TextView tiene una propiedad android: drawablePadding que debería hacer el truco:
fuente
android:drawablePadding
solo creará un espacio de relleno entre el texto y el dibujo si el botón es lo suficientemente pequeño como para aplastar los 2 juntos. Si su botón es más ancho que el ancho combinado (para drawableLeft / drawableRight) o la altura (para drawableTop / drawableBottom), drawablePadding no hace nada.Estoy luchando con esto ahora mismo también. Mis botones son bastante anchos, y el icono está colgado en el borde izquierdo del botón y el texto está centrado en el medio. Mi única forma de evitar esto por ahora ha sido hornear en un margen en el dibujable agregando píxeles en blanco en el borde izquierdo del lienzo con Photoshop. No es ideal, y tampoco es realmente recomendable. Pero esa es mi solución provisional por ahora, salvo reconstruir TextView / Button.
fuente
Si. use drawablePadding de la siguiente manera,
fuente
Haga sus recursos dibujables.xml
fuente
android:drawablePadding
es la forma más fácil de dar relleno a un icono dibujable, pero no puede dar un relleno lateral específico comopaddingRight
opaddingLeft
de un icono dibujable. Para lograrlo, debe profundizar en él. Y si aplicapaddingLeft
opaddingRight
paraEdittext
, colocará el relleno completoEdittext
junto con el icono dibujable.fuente
define una forma para tu texto de edición y dale un relleno Por ejemplo
El relleno definido en esta forma ayudará a dar relleno a drawableleft o right ---------------------- Aplicar esta forma en EditView
el uso de esa forma definida como fondo le dará a su EditText algo de estilo más margen para drawableLeft.
fuente
android: drawablePadding es la forma más fácil de dar relleno a un icono dibujable, pero no puede proporcionar un relleno lateral específico como paddingRight o paddingLeft of drawable icon. Para lograrlo, debe profundizar en él. Y si aplica paddingLeft o paddingRight a Edittext, colocará el relleno en todo Edittext junto con el icono dibujable.
fuente
nota: layout_width debe ser wrap_content y usar paddingLeft paddingRight drawablePadding para controlar la brecha. Si especifica que el valor de layout_width tiene un espacio entre el icono y el texto, creo que una vez que le dé al valor de layout_width un valor específico, se medirá el relleno.
fuente
También arrojaré mi respuesta al ring. Si desea hacer esto mediante programación, puede hacer lo siguiente.
Esto agregará el relleno al final del dibujo donde final significará izquierda / derecha dependiendo de si el teléfono está en LTR o RTL.
fuente
En lugar de
Button
usarLinearLayout
conImageView
yTextView
dentro. En artículos infantiles comoImageView
yTextView
usoandroid:duplicateParentState="true"
.fuente
Deberías considerar usar la lista de capas
Cree un archivo dibujable como este, asígnele el nombre ic_calendar.xml
Debajo del archivo de diseño,
fuente
Puede usar un relleno para el botón y puede jugar con relleno extraíble
puede usar un relleno específico dependiendo de dónde coloque su elemento de dibujo, con android: paddingLeft = "10dp" o android: paddingBottom = "10dp" o android: paddingRight = "10dp" o android: paddingTop = "10dp"
fuente
Puede usar
android:drawableLeft="@drawable/your_icon"
para configurar el dibujo que se mostrará en el lado izquierdo. Para establecer un relleno para el dibujo, debe usarandroid:paddingLeft
oandroid:paddingRight
para configurar el relleno izquierdo / derecho respectivamente.fuente
Si el tamaño del recurso extraíble es fijo, puede hacer lo siguiente:
La clave aquí es que:
Es decir, el tamaño del recurso extraíble más paddingRight es el paddingLeft.
Puedes ver el resultado en este ejemplo
fuente
fuente
solo rehacer de:
a
fuente
Intenta usar relleno negativo
Me gusta:
fuente