Commit c56be8ef authored by Hans Muller's avatar Hans Muller

Merge pull request #2237 from HansMuller/tabs

Stop animating in deactivate()
parents 13b8777f 8cb9ef70
...@@ -451,10 +451,8 @@ class TabBarSelectionState<T> extends State<TabBarSelection<T>> { ...@@ -451,10 +451,8 @@ class TabBarSelectionState<T> extends State<TabBarSelection<T>> {
_initValueToIndex(); _initValueToIndex();
} }
void dispose() { void _writeValue() {
_controller.stop();
PageStorage.of(context)?.writeState(context, _value); PageStorage.of(context)?.writeState(context, _value);
super.dispose();
} }
List<T> get values => config.values; List<T> get values => config.values;
...@@ -477,6 +475,7 @@ class TabBarSelectionState<T> extends State<TabBarSelection<T>> { ...@@ -477,6 +475,7 @@ class TabBarSelectionState<T> extends State<TabBarSelection<T>> {
if (!_valueIsChanging) if (!_valueIsChanging)
_previousValue = _value; _previousValue = _value;
_value = newValue; _value = newValue;
_writeValue();
_valueIsChanging = true; _valueIsChanging = true;
// If the selected value change was triggered by a drag gesture, the current // If the selected value change was triggered by a drag gesture, the current
...@@ -530,11 +529,13 @@ class TabBarSelectionState<T> extends State<TabBarSelection<T>> { ...@@ -530,11 +529,13 @@ class TabBarSelectionState<T> extends State<TabBarSelection<T>> {
} }
void deactivate() { void deactivate() {
_controller.stop();
for (TabBarSelectionAnimationListener listener in _animationListeners.toList()) { for (TabBarSelectionAnimationListener listener in _animationListeners.toList()) {
listener.handleSelectionDeactivate(); listener.handleSelectionDeactivate();
unregisterAnimationListener(listener); unregisterAnimationListener(listener);
} }
assert(_animationListeners.isEmpty); assert(_animationListeners.isEmpty);
_writeValue();
} }
Widget build(BuildContext context) { Widget build(BuildContext context) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment