Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0832042

Browse files
committed
add useRootNavigator parameter
1 parent 6656700 commit 0832042

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

‎lib/flutter_custom_dialog.dart

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class YYDialog {
1919
BoxConstraints constraints; //弹窗约束
2020
Function(Widget child, Animation<double> animation) animatedFunc; //弹窗出现的动画
2121
bool barrierDismissible = true; //是否点击弹出外部消失
22+
bool useRootNavigator = true; // see also Navigator.of()
2223
EdgeInsets margin = EdgeInsets.all(0.0); //弹窗布局的外边距
2324

2425
Decoration decoration; //弹窗内的装饰,与backgroundColor和borderRadius互斥
@@ -267,6 +268,7 @@ class YYDialog {
267268
barrierColor: barrierColor,
268269
animatedFunc: animatedFunc,
269270
barrierDismissible: barrierDismissible,
271+
useRootNavigator: useRootNavigator,
270272
duration: duration,
271273
child: Padding(
272274
padding: margin,
@@ -314,7 +316,7 @@ class YYDialog {
314316

315317
void dismiss() {
316318
if (_isShowing) {
317-
Navigator.of(context, rootNavigator: true).pop();
319+
Navigator.of(context, rootNavigator: useRootNavigator).pop();
318320
}
319321
}
320322

@@ -425,6 +427,7 @@ class CustomDialog {
425427
Color _barrierColor;
426428
RouteTransitionsBuilder _transitionsBuilder;
427429
bool _barrierDismissible;
430+
bool _useRootNavigator;
428431
Gravity _gravity;
429432
bool _gravityAnimationEnable;
430433
Function _animatedFunc;
@@ -439,6 +442,7 @@ class CustomDialog {
439442
bool gravityAnimationEnable,
440443
Function animatedFunc,
441444
bool barrierDismissible,
445+
bool useRootNavigator,
442446
}) : _child = child,
443447
_context = context,
444448
_gravity = gravity,
@@ -447,8 +451,9 @@ class CustomDialog {
447451
_barrierColor = barrierColor,
448452
_animatedFunc = animatedFunc,
449453
_transitionsBuilder = transitionsBuilder,
450-
_barrierDismissible = barrierDismissible {
451-
this.show();
454+
_barrierDismissible = barrierDismissible,
455+
_useRootNavigator = useRootNavigator {
456+
this.show();
452457
}
453458

454459
show() {
@@ -461,6 +466,7 @@ class CustomDialog {
461466
context: _context,
462467
barrierColor: _barrierColor ?? Colors.black.withOpacity(.3),
463468
barrierDismissible: _barrierDismissible ?? true,
469+
useRootNavigator: _useRootNavigator ?? true,
464470
barrierLabel: "",
465471
transitionDuration: _duration ?? Duration(milliseconds: 250),
466472
transitionBuilder: _transitionsBuilder ?? _buildMaterialDialogTransitions,

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /