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?
- Android TextView SetText () detiene la marquesina de otro TextView - solución?
- Android TextView getTextSize () incluye descendientes, ascenders
- Deslizar para desbloquear animación en Android
- ¿Cómo detectar pulsaciones de teclas de caracteres?
- Quitar el prefijo de URL de String (http: /, www, etc.)
Gracias por adelantado.
- ¿Cómo utilizar la fuente personalizada en android xml?
- ¿Puedo deshabilitar el desplazamiento en TextView cuando se utiliza LinkMovementMethod?
- Debe proporcionar un ID de recurso para un error de TextView android
- TextView`s LinkMovementMethod bloquea el evento de toque listitem
- No inserte texto en Android TextView en el período en abreviatura
- Edittext - cómo ocultar underbar
- Android ExpandableListView con vínculos que se pueden hacer clic en TextView hijo no se expandirá al tocar TextView
- Disposición de Android: Envuelva dos vistas de texto
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