textWithSemanticsAndTooltip static method

Widget textWithSemanticsAndTooltip(
  1. BuildContext context,
  2. String semantic,
  3. String tooltip,
  4. String text,
  5. TextStyle style,
)

Widget reutilizable para mostrar texto con soporte de accesibilidad y tooltip.

Este widget muestra un texto dentro de un contenedor con ancho limitado (basado en el tamaño de la pantalla) para evitar overflows.

Parámetros:

  • context: el contexto de la aplicación.
  • semantic: descripción accesible para lectores de pantalla.
  • tooltip: texto que aparece al hacer hover.
  • text: el texto visible que se mostrará.
  • style: estilo del texto.

Implementation

static Widget textWithSemanticsAndTooltip(
  BuildContext context,
  String semantic,
  String tooltip,
  String text,
  TextStyle style,
) {
  final messageSemantic = Internationalization.internationalization
      .getLocalizations(context, semantic);
  final messageTooltip = Internationalization.internationalization
      .getLocalizations(context, tooltip);
  final messageText = Internationalization.internationalization
      .getLocalizations(context, text);

  // TAMAÑO DE LA PANTALLA
  final screenWidth = MediaQuery.of(context).size.width;
  final maxTextWidth = screenWidth * 0.25;

  return Semantics(
    label: messageSemantic,
    child: Tooltip(
      message: messageTooltip,
      child: Container(
        // CONTROLAMOS EL LIMITE DEL ANCHO PARA CONTROLAR EL OVERFLOW
        constraints: BoxConstraints(maxWidth: maxTextWidth),
        child: Text(
          messageText,
          style: style,
          softWrap: true,
          textAlign: TextAlign.center,
          overflow: TextOverflow.visible,
        ),
      ),
    ),
  );
}