diff --git a/packages/flutter/example/widgets/card_collection.dart b/packages/flutter/example/widgets/card_collection.dart index b35b1ae4b8..54f07f95fe 100644 --- a/packages/flutter/example/widgets/card_collection.dart +++ b/packages/flutter/example/widgets/card_collection.dart @@ -77,9 +77,8 @@ class CardCollectionApp extends App { ) ); - Widget backgroundText = new Center( - child: new Text("Swipe in either direction", style: backgroundTextStyle) - ); + Widget backgroundText = + new Text("Swipe in either direction", style: backgroundTextStyle); // The background Widget appears behind the Dismissable card when the card // moves to the left or right. The Positioned widget ensures that the diff --git a/packages/flutter/lib/widgets/dismissable.dart b/packages/flutter/lib/widgets/dismissable.dart index 43951734d0..db7ca639f2 100644 --- a/packages/flutter/lib/widgets/dismissable.dart +++ b/packages/flutter/lib/widgets/dismissable.dart @@ -100,6 +100,9 @@ class Dismissable extends StatefulComponent { } EventDisposition _handlePointerDown(sky.PointerEvent event) { + if (_fadePerformance.isAnimating) + return EventDisposition.processed; + _dragUnderway = true; _dragX = 0.0; _fadePerformance.progress = 0.0; @@ -110,6 +113,9 @@ class Dismissable extends StatefulComponent { if (!_isActive) return EventDisposition.ignored; + if (_fadePerformance.isAnimating) + return EventDisposition.processed; + double oldDragX = _dragX; _dragX += event.dx; if (oldDragX.sign != _dragX.sign) @@ -123,6 +129,9 @@ class Dismissable extends StatefulComponent { if (!_isActive) return EventDisposition.ignored; + if (_fadePerformance.isAnimating) + return EventDisposition.processed; + _dragUnderway = false; if (_fadePerformance.isCompleted) _startResizePerformance();