openDialog<T> static method
Future<T?>
openDialog<T>({
- required BuildContext context,
- required Widget dialog,
- bool barrierDismissible = true,
- Color barrierColor = Colors.black54,
- bool useSafeArea = true,
Открывает диалоговое окно.
context — контекст для отображения диалога.
dialog — виджет, представляющий диалог.
barrierDismissible — возможность закрытия диалога нажатием вне его области (по умолчанию true).
barrierColor — цвет затемнения фона (по умолчанию Colors.black54).
useSafeArea — учитывать безопасную зону экрана (по умолчанию true).
Возвращает результат, полученный после закрытия диалога.
Implementation
static Future<T?> openDialog<T>({
required BuildContext context,
required Widget dialog,
bool barrierDismissible = true,
Color barrierColor = Colors.black54,
bool useSafeArea = true,
}) async {
await closeDialog();
_isDialogOpened = true;
final result = await _router.pushNativeRoute<T>(
DialogRoute(
context: context,
barrierDismissible: barrierDismissible,
barrierColor: barrierColor,
useSafeArea: useSafeArea,
builder: (_) => PopScope(
onPopInvokedWithResult: (_, __) {
_isDialogOpened = false;
},
child: dialog,
),
),
);
return result;
}