showMaterialResponsiveDialog function

void showMaterialResponsiveDialog({
  1. required BuildContext context,
  2. String? title,
  3. Widget? child,
  4. Color? headerColor,
  5. Color? headerTextColor,
  6. Color? backgroundColor,
  7. Color? buttonTextColor,
  8. String? confirmText,
  9. String? cancelText,
  10. double? maxLongSide,
  11. double? maxShortSide,
  12. bool hideButtons = false,
  13. VoidCallback? onConfirmed,
  14. VoidCallback? onCancelled,
})

Extends Dialog by making it responsive to screen orientation changes

Implementation

void showMaterialResponsiveDialog({
  required BuildContext context,
  String? title,
  Widget? child,
  Color? headerColor,
  Color? headerTextColor,
  Color? backgroundColor,
  Color? buttonTextColor,
  String? confirmText,
  String? cancelText,
  double? maxLongSide,
  double? maxShortSide,
  bool hideButtons = false,
  VoidCallback? onConfirmed,
  VoidCallback? onCancelled,
}) {
  showDialog<void>(
    context: context,
    barrierDismissible: hideButtons,
    builder: (BuildContext context) {
      return ResponsiveDialog(
        context: context,
        title: title,
        headerColor: headerColor,
        headerTextColor: headerTextColor,
        backgroundColor: backgroundColor,
        buttonTextColor: buttonTextColor,
        confirmText: confirmText,
        cancelText: cancelText,
        maxLongSide: maxLongSide,
        maxShortSide: maxShortSide,
        hideButtons: hideButtons,
        child: child,
        okPressed: () {
          if (onConfirmed != null) onConfirmed();
          Navigator.of(context).pop();
        },
        cancelPressed: () {
          if (onCancelled != null) onCancelled();
          Navigator.of(context).pop();
        },
      );
    },
  );
}