Establecer el relleno de texto real en TextView con elementos compuestos
Tengo un ListView
poblado con un ArrayAdapter
. Para los elementos utilizo un solo diseño de TextView
. Quiero que algunas de las filas tengan conjunto de trazos compuestos.
Pregunta: ¿hay una manera de fijar el relleno para el texto real que está contenido en TextView
para que el compuesto drawables no consiga el relleno también? Otra solución sería bloquear el ancho del texto. ¿Necesito agregar ImageViews
a mi diseño?
- Cómo quitar la etiqueta de HTML en android?
- Cambiar el color de texto de un solo ClickableSpan cuando se presiona sin afectar a otros ClickableSpans en el mismo TextView
- Android Api 23 Cambiar Navegación Ver headerLayout textview
- Cómo ajustar texto a la siguiente línea en un Android TextView?
- Establecer el borde y el color de fondo de textView
Gracias por adelantado.
- Configuración del texto como "primario" en Android
- Alineación de ImageSpan en la parte superior del TextView
- Cómo obtener rápidamente el ancho y la altura de TextView utilizando Paint.getTextBounds ()?
- Ellipse de líneas individuales de SpannableString en un TextView
- Establecer una cadena spannable no funciona en una simple Textview
- Nuevo carácter de línea \ n no se muestra correctamente en textView Android
- Android enlace activo de url en TextView
- HTML.fromHtml Saltos de línea que desaparecen
Bastante sencillo
Android: drawablePadding = "5dp"
Utilizará automáticamente el relleno de acuerdo con la dirección
Estoy publicando esto como una respuesta para que alguien, que viene a través de este post encuentra la respuesta.
No hay una forma directa de establecer un relleno sólo para texto, pero puede establecer un relleno posible en todo el TextView
y establecer un relleno negativo para el dibujable.
Mejora de la sugestionamiento de Gio, que es probablemente para una fecha API / SDK …
TL: DR – solo aplique android:drawablePadding
para aumentar la distancia entre la imagen y el texto.
Explicación: android:drawablePadding
ahora aplica el relleno entre CompoundDrawable
y View
original, en este caso el TextView que contiene el texto;
android:padding
y modificadores ahora se aplican a todo el grupo, incluyendo todos los compuestos.
Hacer el hack negativo negativo no parece funcionar más.
Así que dependiendo de la posición de estirabilidad (drawableTop / Left / …), el relleno se aplicará en la dirección opuesta a la misma, justo al lado del estirable, es decir entre los dos elementos. Por ejemplo, Aplicar drawablePadding="10dp"
a un drawablePadding="10dp"
a la izquierda tendría un efecto similar al establecer un ImageView
individual a la izquierda del TextView con paddingRight="10dp"
(al menos con relleno).
- Al hacer clic en las pestañas no cambia la pestaña actual cuando se usa Android TabLayout
- La importación automática no funciona para las clases de Android en el estudio de Android