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.