android textview padding compound-drawables

android - Establecer el relleno de texto real en TextView con dibujables compuestos



padding compound-drawables (3)

Bastante sencillo

Android: drawablePadding = "5dp"

Automáticamente utilizará el relleno según la dirección.

Tengo un ListView ArrayAdapter con un ArrayAdapter . Para los artículos utilizo un solo diseño TextView . Quiero que algunas de las filas tengan un conjunto de elementos dibujables compuestos.

Pregunta: ¿hay una manera de establecer el relleno para el texto real contenido en TextView para que los elementos TextView compuestos no obtengan el relleno también? Otra solución sería bloquear el ancho del texto. ¿Necesito agregar ImageViews a mi diseño?

Gracias por adelantado.


Mejora en la sugerencia de Gio, que probablemente sea para un API / SDK con fecha ...

TL: DR: simplemente aplique android:drawablePadding para aumentar la distancia entre la imagen y el texto.

Explicación: android:drawablePadding ahora aplica el relleno entre CompoundDrawable y la View original, en este caso el TextView que contiene el texto;

android:padding y los modificadores ahora se aplican a todo el grupo, incluidos todos los compuestos.

Hacer el truco negativo positivo no parece funcionar más.

Por lo tanto, dependiendo de la posición que se puede dibujar (drawableTop / Left / ...), el relleno se aplicará en la dirección opuesta a la misma, justo al lado del drawable, en otras palabras, entre los dos elementos. Por ejemplo, la aplicación de drawablePadding="10dp" en un drawablePadding="10dp" a la izquierda tendría un efecto similar a la configuración de un ImageView individual a la izquierda del TextView con paddingRight="10dp" (al menos con el relleno).


Estoy publicando esto como una respuesta para que alguien, que se encuentre en esta publicación, encuentre la respuesta.

No hay una forma directa de establecer un relleno solo para texto, pero puede establecer un relleno positivo en todo el TextView y establecer un relleno negativo para el dibujo.