alertLoading method

void alertLoading({
  1. Color? backgroundColor,
  2. Color? progressColor,
  3. double borderRadius = 100,
  4. double paddingFromProgress = 10,
  5. double sizeProgress = 35,
  6. double strokeWidth = 5,
  7. Function? onComplete,
  8. bool cancelable = false,
})

Implementation

void alertLoading({
  Color? backgroundColor,
  Color? progressColor,
  double borderRadius = 100,
  double paddingFromProgress = 10,
  double sizeProgress = 35,
  double strokeWidth = 5,
  Function? onComplete,
  bool cancelable = false,
}) {
  hideAlert();
  isOpened = true;
  showDialog(
      barrierDismissible: cancelable,
      context: _context,
      builder: (BuildContext context) {
        //will pop to prevent user to close
        return PopScope(
          canPop: cancelable,
          onPopInvokedWithResult: (didPop, result) {},
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.center,
            mainAxisAlignment: MainAxisAlignment.center,
            mainAxisSize: MainAxisSize.min,
            children: [
              Container(
                decoration: BoxDecoration(
                  color: backgroundColor ?? Colors.white,
                  borderRadius: BorderRadius.circular(borderRadius),
                ),
                child: Padding(
                  padding: EdgeInsets.all(paddingFromProgress),
                  child: SizedBox(
                    width: sizeProgress,
                    height: sizeProgress,
                    child: CircularProgressIndicator(
                      strokeWidth: strokeWidth,
                      color: progressColor ?? AwesomeAlertTheme().progressColor ?? Colors.blue,
                    ),
                  ),
                ),
              )
            ],
          ),
        );
      }).whenComplete(() {
    isOpened = false;
    if (onComplete != null) onComplete();
  });
}