¿Es posible establecer el color del espacio de texto en un TextView?
Me gustaría hacer algo similar a la aplicación de Twitter, en la que una parte del texto es azul. Ver imagen a continuación:
(fuente: twimg.com )
android
text
formatting
textview
hpique
fuente
fuente
Aquí hay una pequeña función de ayuda. ¡Ideal para cuando tienes varios idiomas!
fuente
Siempre encuentro útiles los ejemplos visuales cuando trato de entender un nuevo concepto.
Color de fondo
Color de primer plano
Combinación
Estudio adicional
fuente
Si desea más control, puede consultar la
TextPaint
clase. Aquí está cómo usarlo:fuente
Establezca
TextView
el texto de su spanable y defina unForegroundColorSpan
para su texto.fuente
Otra forma que podría usarse en algunas situaciones es establecer el color del enlace en las propiedades de la vista que está tomando el Spannable.
Si su Spannable se va a usar en un TextView, por ejemplo, puede establecer el color del enlace en el XML de esta manera:
También puede configurarlo en el código con:
fuente
Hay una fábrica para crear el Spannable y evitar el reparto, así:
fuente
El conjunto de colores de texto por el que pasa de cuerdas y el color :
Establezca el texto en TextView / Button / EditText, etc. llamando al siguiente código:
Vista de texto:
Obtener cadena de color:
Establecer texto en TextView:
Hecho
fuente
Salida:
fuente
Solo para agregar a la respuesta aceptada, ya que todas las respuestas parecen hablar
android.graphics.Color
solo: ¿qué pasa si el color que quiero está definidores/values/colors.xml
?Por ejemplo, considere los colores de Material Design definidos en
colors.xml
:(
android_material_design_colours.xml
es tu mejor amigo)Luego use
ContextCompat.getColor(getContext(), R.color.md_blue_500)
donde usaríaColor.BLUE
, de modo que:se convierte en:
Donde encontré eso:
fuente
Aquí hay una función de extensión de Kotlin que tengo para esto
Úselo después de haber configurado su texto en TextView así
fuente
pegue este código en su actividad principal
fuente
A continuación funciona perfectamente para mí
fuente
Algunas respuestas aquí no están actualizadas. Porque, en la mayoría de los casos, agregará una acción de clic personalizada en su enlace .
Además, como lo proporciona la ayuda de la documentación, el color del enlace de cadena abarcado tendrá uno predeterminado. "El color de enlace predeterminado es el color de acento del tema o android: textColorLink si este atributo está definido en el tema".
Aquí está la manera de hacerlo de manera segura.
Entonces para usarlo.
Espero que esto sea de gran ayuda!
fuente
Desde los documentos del desarrollador, para cambiar el color y el tamaño de un spannable:
1- crea una clase:
2 Crea tu spannable usando esa clase:
fuente