I had similar problems when meeting complex animation requirements. I used greensock for more complex animations, but this does not seem to be required here. The general concept is that you will want to animate something, but change / change the properties before and after the animation. You will need to use several promises callbacks to start additional animation after completing the first part of the animation or performing manual calculations and setting properties before starting or ending.
Angular Animation
Ionic animated
, onStart onEnd. onStart reset End, , . , / , , , . , , , reset .