Saltar al contenido

Cómo resaltar una palabra en string en flutter programáticamente

Esta sección fue evaluado por nuestros expertos para asegurar la veracidad de nuestro tutorial.

Solución:

Envuelva la palabra en un TextSpan y asigne style propiedades para cambiar la apariencia del texto y usar RichText en lugar de Text

RichText(
  text: TextSpan(
    text: 'Hello ',
    style: DefaultTextStyle.of(context).style,
    children: [
      TextSpan(text: 'bold', style: TextStyle(fontWeight: FontWeight.bold)),
      TextSpan(text: ' world!'),
    ],
  ),
)

o usar el Text.rich constructor https://docs.flutter.io/flutter/widgets/Text-class.html

const Text.rich(
  TextSpan(
    text: 'Hello', // default text style
    children: [
      TextSpan(text: ' beautiful ', style: TextStyle(fontStyle: FontStyle.italic)),
      TextSpan(text: 'world', style: TextStyle(fontWeight: FontWeight.bold)),
    ],
  ),
)

Aquí está mi código.

class HighlightText extends StatelessWidget 
  final String text;
  final String highlight;
  final TextStyle style;
  final Color highlightColor;

  const HighlightText(
    Key key,
    this.text,
    this.highlight,
    this.style,
    this.highlightColor,
  ) : super(key: key);

  @override
  Widget build(BuildContext context) 
    String text = this.text ?? '';
    if ((highlight?.isEmpty ?? true) 

  TextSpan _highlightSpan(String content) 
    return TextSpan(text: content, style: style.copyWith(color: highlightColor));
  

  TextSpan _normalSpan(String content) 
    return TextSpan(text: content, style: style);
  


Reseñas y calificaciones

Si piensas que te ha sido de provecho este post, te agradeceríamos que lo compartas con otros entusiastas de la programación y nos ayudes a extender nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *