showSnackBar static method

dynamic showSnackBar(
  1. BuildContext context,
  2. IconData icon,
  3. String message,
  4. Color color,
)

Método para mostrar un Snackbar con un mensaje personalizado.

Parámetros: context: El contexto de la aplicación para mostrar el Snackbar. icon: El icono que se mostrará junto al mensaje. message: El mensaje que se mostrará en el Snackbar. color: El color de fondo del Snackbar.

Implementation

static showSnackBar(
    BuildContext context, IconData icon, String message, Color color) {
  // CREAMOS EL SNACKBAR
  final snackBar = SnackBar(
    behavior: SnackBarBehavior.floating,
    backgroundColor: color, // COLOR DE FONDO
    action: SnackBarAction(
      label: Internationalization.internationalization.getLocalizations(
          context, "accept_label"), // TEXTO DEL BOTON DE ACCION
      textColor: Colors.yellow, // COLOR DEL TEXTO DEL BOTON
      onPressed: () {
        // SE CIERRA EL SNACKBAR CUANDO PULSE "Accept"
      },
    ),
    content: Row(
      children: [
        Icon(icon),
        const SizedBox(width: 10),
        // PARA CONTROLAR EL OVERFLOW QUE CAUSA EL TEXTO, SE USA EL WIDGET FLEXIBLE
        Flexible(
          child: Text(
            message,
            overflow: TextOverflow.ellipsis, // CORTA EL TEXTO CON "..."
            maxLines: 5, // LIMITA EL TEXTO A 5 LINEAS SI ES NECESARIO
            style: const TextStyle(fontSize: 14),
          ),
        ),
      ],
    ), // EL TEXTO QUE SE MOSTRARA EN EL SNACKBAR
  );

  // MOSTRAMOS EL SNACKBAR
  ScaffoldMessenger.of(context).showSnackBar(snackBar);

  // SE CIERRA EL SNACKBAR PASADOS LOS 5 SEGUNDOS
  Future.delayed(const Duration(seconds: 5), () {
    ScaffoldMessenger.of(context).clearSnackBars();
  });
}