loading_alert_dialog 1.1.0 copy "loading_alert_dialog: ^1.1.0" to clipboard
loading_alert_dialog: ^1.1.0 copied to clipboard

Customizable Alert Dialog that allows running a computation while blocking the app like a normal showDialog.

example/main.dart

import 'dart:math';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:loading_alert_dialog/loading_alert_dialog.dart';

void main() {
  runApp(
    LoadingAlertDialogExampleApp(),
  );
}

class LoadingAlertDialogExampleApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {

    return MaterialApp(
      color: Colors.blue,
      home: LoadingAlertDialogExample(),
    );
  }
}

class LoadingAlertDialogExample extends StatefulWidget {
  @override
  _LoadingAlertDialogExampleState createState() => _LoadingAlertDialogExampleState();
}

class _LoadingAlertDialogExampleState extends State<LoadingAlertDialogExample> {

  int _randomNumber = 0;

  void _showAlert() {
    LoadingAlertDialog.showLoadingAlertDialog<int>(
      context: context,
      builder: (context,) => Card(
        child: Padding(
          padding: const EdgeInsets.all(24.0),
          child: Column(
            children: <Widget>[
              CircularProgressIndicator(),
              Text("Please wait..."),
            ],
            mainAxisSize: MainAxisSize.min,
          ),
        ),
        color: Colors.white,
      ),
      computation: Future.delayed(
        Duration(seconds: 3,), () {
          final randomNumber = Random().nextInt(100);
          return randomNumber;
        },
      ),
    ).then((number) {
      if (number != null) {
        setState(() {
          _randomNumber = number;
        });
      }
    },);
  }

  @override
  Widget build(BuildContext context) {

    return Scaffold(
      appBar: AppBar(
        title: Text("Loading Alert Dialog Example"),
      ),
      body: Center(
        child: Padding(
          padding: const EdgeInsets.all(24.0),
          child: Column(
            children: <Widget>[
              Text("Random Number: $_randomNumber"),
              ElevatedButton(
                child: Text("Show Alert"),
                onPressed: _showAlert,
              ),
            ],
            mainAxisSize: MainAxisSize.min,
          ),
        ),
      ),
    );
  }
}
9
likes
130
pub points
61%
popularity

Publisher

unverified uploader

Customizable Alert Dialog that allows running a computation while blocking the app like a normal showDialog.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on loading_alert_dialog