Saltearse al contenido

Loader

Clase que muestra un diálogo de carga con indicador de progreso. Permite ejecutar operaciones asíncronas y muestra un botón de cancelación tras un tiempo determinado.

Importación

import 'package:togie/utils/loader.dart';

Métodos

MétodoDescripción
show() Muestra un diálogo de carga. Si visibleProgress es false, presenta un CircularProgressIndicator y, tras 30 segundos, muestra un botón de cancelación. Si es true, muestra un indicador de progreso porcentual mediante CircularPercentIndicator.
hide() Cancela la operación en curso (si existe) y oculta el diálogo de carga.
updateProgress(double progress) Actualiza el valor del indicador de progreso con el porcentaje de descarga.
runWithLoading(Future<void> Function() asyncFunction) Muestra el loader, ejecuta la función asíncrona dentro de una operación cancelable y, al finalizar, oculta el loader.

Propiedades

PropiedadTipoDescripción
visibleProgressboolIndica si se debe mostrar el indicador de progreso porcentual.
downloadProgressNotifierValueNotifier<double>Notificador para actualizar el porcentaje de descarga en el indicador.
showCancelButtonValueNotifier<bool>Notificador que controla la visibilidad del botón de cancelación.
cancellableOperationCancelableOperation<void>?Operación asíncrona cancelable que se ejecuta mientras se muestra el loader.

Ejemplo de uso:

Loader(context).runWithLoading(() => ());