diff --git a/packages/flutter/lib/src/animation/animation_controller.dart b/packages/flutter/lib/src/animation/animation_controller.dart index e0aee1c9783..ca9a49c0d4d 100644 --- a/packages/flutter/lib/src/animation/animation_controller.dart +++ b/packages/flutter/lib/src/animation/animation_controller.dart @@ -88,7 +88,7 @@ class AnimationController extends Animation /// The current value of the animation. /// /// Setting this value stops the current animation. - double get value => _value.clamp(lowerBound, upperBound); + double get value => _value; double _value; void set value(double newValue) { assert(newValue != null); @@ -174,7 +174,7 @@ class AnimationController extends Animation assert(simulation != null); assert(!isAnimating); _simulation = simulation; - _value = simulation.x(0.0); + _value = simulation.x(0.0).clamp(lowerBound, upperBound); return _ticker.start(); } @@ -200,7 +200,7 @@ class AnimationController extends Animation void _tick(Duration elapsed) { double elapsedInSeconds = elapsed.inMicroseconds.toDouble() / Duration.MICROSECONDS_PER_SECOND; - _value = _simulation.x(elapsedInSeconds); + _value = _simulation.x(elapsedInSeconds).clamp(lowerBound, upperBound); if (_simulation.isDone(elapsedInSeconds)) stop(); notifyListeners();