Dialogx is a Flutter package that provides simple and customizable modal dialogs, toast messages, and loading indicators. This package is useful for displaying information to users in a clean and concise way.


To use Dialogx, add the following dependency to your pubspec.yaml file:

  dialogx: ^1.0.0

Then, run flutter pub get to install the package.


To show a modal dialog, use the showModalDialog method:

final data = await context.showModalDialog<String>(
  builder: (BuildContext context) {
    return AlertDialog(
      title: Text('Dialog Title'),
      content: Text('Dialog Content'),
      actions: [
          onPressed: () => Navigator.pop(context, 'Cancel'),
          child: Text('Cancel'),
          onPressed: () => Navigator.pop(context, 'OK'),
          child: Text('OK'),

This method takes a builder function that returns a Widget. The builder function is called when the dialog is shown. You can customize the appearance and behavior of the dialog by passing additional arguments to showModalDialog, such as the barrierColor, barrierDismissible, and transitionDuration.


To show a toast message, use the showToast method:

  'This is a toast message',
  toastDuration: Duration(seconds: 3),
  backgroundColor: Colors.black.withOpacity(0.8),
  textColor: Colors.white,

This method takes a String message to display. You can customize the appearance and behavior of the toast by passing additional arguments to showToast, such as the toastDuration, backgroundColor, and textColor.

Loading Indicator

To show a loading indicator, use the showLoadingIndicator method:

context.showLoading(loader: CircularProgressIndicator());
await Future.delayed(Duration(seconds: 5));

This method takes a BuildContext and returns a LoadingOverlay object that can be used to show and dismiss the loading indicator. You can customize the appearance and behavior of the loading indicator by passing additional arguments to showLoadingIndicator, such as the loadingIndicator and loadingMessage.


If you find any bugs or have suggestions for improvements, feel free to open an issue or pull request on GitHub at https://github.com/hasanmhallak/dialogx.


Dialogx is released under the MIT License. See the LICENSE file for details.