customOptionsDialog function

dynamic customOptionsDialog(
  1. BuildContext context, {
  2. required List<SimpleItem> simpleItems,
  3. required Widget itemBuilder(
    1. BuildContext,
    2. int,
    3. SimpleItem
    ),
  4. Widget? titleWidget,
  5. Widget? titleIcon,
  6. bool hideTitleDivider = false,
  7. bool closeOnBackPress = false,
})

optionsDialog function with title Widget

Implementation

customOptionsDialog(
  BuildContext context, {
  required List<SimpleItem> simpleItems,
  required Widget Function(BuildContext, int, SimpleItem) itemBuilder,
  Widget? titleWidget,
  Widget? titleIcon,
  bool hideTitleDivider = false,
  bool closeOnBackPress = false,
}) {
  return showGeneralDialog(
    context: context,
    barrierDismissible: closeOnBackPress,
    barrierLabel: "",
    barrierColor: getBarrierColor(),
    transitionDuration: getDialogPopUpAnimationDuration(),
    transitionBuilder: (c2, a1, a2, widget) {
      return getDialogAnimation(a1, a2, widget);
    },
    pageBuilder: (c1, a1, a2) => WillPopScope(
      child: OptionDialog(
        titleWidget: titleWidget,
        icon: titleIcon,
        items: simpleItems,
        itemBuilder: itemBuilder,
        hideTitleDivider: hideTitleDivider,
      ),
      onWillPop: () async => closeOnBackPress,
    ),
  );
}