MenuController constructor
MenuController({
- required TickerProvider vsync,
Implementation
MenuController({
required this.vsync,
}) : _animationController = new AnimationController(vsync: vsync) {
_animationController
..duration = const Duration(milliseconds: 300)
..addListener(() {
notifyListeners();
})
..addStatusListener((AnimationStatus status) {
switch (status) {
case AnimationStatus.forward:
state = MenuState.opening;
break;
case AnimationStatus.reverse:
state = MenuState.closing;
break;
case AnimationStatus.completed:
state = MenuState.open;
break;
case AnimationStatus.dismissed:
state = MenuState.closed;
break;
}
notifyListeners();
});
}