Committed by
GitHub
Merge pull request #1005 from eduardoflorence/bug-snackbar-double-tap
Snackbar run Get.back multiple times if you tap to dismiss multiple times
Showing
1 changed file
with
7 additions
and
1 deletions
@@ -50,6 +50,7 @@ class SnackRoute<T> extends OverlayRoute<T> { | @@ -50,6 +50,7 @@ class SnackRoute<T> extends OverlayRoute<T> { | ||
50 | Alignment _initialAlignment; | 50 | Alignment _initialAlignment; |
51 | Alignment _endAlignment; | 51 | Alignment _endAlignment; |
52 | bool _wasDismissedBySwipe = false; | 52 | bool _wasDismissedBySwipe = false; |
53 | + bool _onTappedDismiss = false; | ||
53 | 54 | ||
54 | Timer _timer; | 55 | Timer _timer; |
55 | 56 | ||
@@ -62,7 +63,12 @@ class SnackRoute<T> extends OverlayRoute<T> { | @@ -62,7 +63,12 @@ class SnackRoute<T> extends OverlayRoute<T> { | ||
62 | OverlayEntry( | 63 | OverlayEntry( |
63 | builder: (context) { | 64 | builder: (context) { |
64 | return GestureDetector( | 65 | return GestureDetector( |
65 | - onTap: snack.isDismissible ? Get.back : null, | 66 | + onTap: () { |
67 | + if (snack.isDismissible && !_onTappedDismiss) { | ||
68 | + _onTappedDismiss = true; | ||
69 | + Get.back(); | ||
70 | + } | ||
71 | + }, | ||
66 | child: AnimatedBuilder( | 72 | child: AnimatedBuilder( |
67 | animation: _filterBlurAnimation, | 73 | animation: _filterBlurAnimation, |
68 | builder: (context, child) { | 74 | builder: (context, child) { |
-
Please register or login to post a comment