A new Flutter package project for simple and awesome dialogs


To use this package, add awesome_dialog as a dependency in your pubspec.yaml file. And add this import to your file.

import 'package:awesome_dialog/awesome_dialog.dart';


Check out for more fun.


alt text


            context: context,
            dialogType: DialogType.INFO,
            animType: AnimType.BOTTOMSLIDE,
            title: 'Dialog Title',
            desc: 'Dialog description here.............',
            btnCancelOnPress: () {},
            btnOkOnPress: () {},

Custom Body

If the body is specified, then title and description will be ignored, this allows to further customize the dialogue.

            context: context,
            animType: AnimType.SCALE,
            dialogType: DialogType.INFO,
            body: Center(child: Text(
                    'If the body is specified, then title and description will be ignored, this allows to 											further customize the dialogue.',
                    style: TextStyle(fontStyle: FontStyle.italic),
            title: 'This is Ignored',
            desc:   'This is also Ignored',
            btnOkOnPress: () {},

Custom Button

To use custom buttons, just specify the buttonOk or btnCancel widget, all text parameters icon etc will be ignored.

Dissmiss and Callback

AwesomeDialog has onDissmissCallback() and can be dissmissed at any time using dissmiss() public method.

AwesomeDialog Class

Dart attributeDatatypeDescriptionDefault Value
dialogTypeDialogTypeSet DialogType example: DialogType.INFO, this create an animated Header.Null
customHeaderWidgetCreate your own header(if this is set DiaologType is ignored.)Null
widthdoubleThe maximum width of the dialog, especially useful in web flutter, or landscape modeMediaQuery.of(context).size.width.
titleStringSet the title of dialog.Null
descStringSet the description text of the dialog.Null
bodyWidgetCreate your own Widget for body, if this property is set title and description will be ignored.Null
btnOkTextStringText of positive button'Ok'
btnOkIconIconDataIcon of positive buttonNull
btnOkOnPressFunctionFunction that handle click of positive Button, closing the dialog is handled internally.Null
btnOkColorColorColor of positive ButtonColor(0xFF00CA71)
btnOkWidgetAllows to create a custom button, if this property is different from null then btnOkText, btnOkIcon, btnOkOnPress, btnOkColor will be ignorednull
btnCancelTextStringText of negative button'Cancel'
btnCancelIconIconDataIcon of negative buttonNull
btnCancelOnPressFunctionFunction that handle click of negative Button, closing the dialog is handled internally.Null
btnCancelColorColorColor of negative
btnCancelWidgetAllows to create a custom button, if this property is different from null then btnCancelText, btnCancelIcon, btnCancelOnPress, btnCancelColor will be ignorednull
buttonsBorderRadiusBorderRadiusGeometryAllows to customize buttons border radiusBorderRadius.all(Radius.circular(100))
dismissOnTouchOutsideboolDismiss dialog on touch overlaytrue
onDismissCallbackFunctionDismiss callback functionNull
animTypeAnimTypeType of dialogue enter animationAnimType.SCALE
alignmentAlignmentGeometrydialogue alignment
useRootNavigatorboolUse the root navigator instead than the local. This is useful when the default cancel go to the previous screen instead to just close the dialogfalse
headerAnimationLoopboolheaderAnimationLoop control the loop for animation headertrue
paddingEdgeInsetsGeometryThe padding of dialog elementsEdgeInsets.only(left: 5, right: 5),
autoHideDurationHide the Dialog after this Durationnull
keyboardAwareboolControl if add or not the Padding EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom).true
dismissOnBackKeyPressboolcontrol if AwesomeDialog is dismissible by back button.true
buttonsBorderRadiusBorderRadiusGeometryBorder Radius for built in buttons.BorderRadius.all(Radius.circular(100)
buttonsTextStyleTextStyleTextStyle for built in buttons.TextStyle(color: Colors.white, fontWeight:FontWeight.w700, fontSize: 14)
showCloseIconboolControl if close icon is appear.false
closeIconWidgetCustom closeIcon.null
dialogBackgroundColorColorcustom background color for entire dialog.Theme.of(context).cardColor
borderSideBorderSideenable border en entire dialog shapenull
autoDismissboolWhen stetted to false clicking Ok or Cancel button won't dismiss the dialog. You can pass custom Navigator.pop function in the onDissmissCallback.true
barrierColorColorColor for the barrier around the dialogColors.black54
enableEnterKeyboolIf true, hitting Enter key will act like pressing the Ok button.false