iconButtonImage static method

Tooltip iconButtonImage(
  1. BuildContext context,
  2. VoidCallback function,
  3. String filePath,
  4. String messageKey, [
  5. double? size,
])

Crea un IconButton con una imagen como ícono, y un Tooltip asociado.

El método devuelve un Tooltip que envuelve un ElevatedButton con una imagen como su ícono. El fondo y la sombra del botón son transparentes, lo que permite que se use solo la imagen.

Parametros:

  • context: El contexto de la aplicación.
  • function: La función que se ejecutará cuando el botón sea presionado.
  • filePath: La ruta del archivo de la imagen que se va a mostrar en el botón.
  • messageKey: La clave de mensaje para obtener el texto del Tooltip.

Implementation

static Tooltip iconButtonImage(BuildContext context, VoidCallback function,
    String filePath, String messageKey,
    [double? size]) {
  final messageTooltip = Internationalization.internationalization
      .getLocalizations(context, messageKey);

  // SI EL TAMAÑO ES NULO, SE LE AÑADE UN VALOR POR DEFECTO
  size ??= 40;

  return Tooltip(
    // CUANDO SE PASE EL MOUSE SALDRA UN TEXTO
    message: messageTooltip,
    child: ElevatedButton(
        onPressed: () {
          function();
        },
        style: ElevatedButton.styleFrom(
          // SE QUITA EL COLOR DE FONDO Y LA SOMBRA PARA HACERLO TRANSPARENTE
          backgroundColor: Colors.transparent,
          shadowColor: Colors.transparent,
          // SE QUITA EL PADDIN QUE TIENE ALREDEDOR
          padding: EdgeInsets.zero,
          // SE LE DA UN TAMAÑO AL BOTON
          minimumSize: const Size(5, 40),
        ),
        child: SizedBox(
            child: Image.asset(
          // SE LE DA UN TAMAÑO A LA IMAGEN
          width: size,
          height: size,
          filePath,
          color: AppColors.darkPurpleColor,
        ))),
  );
}