前言
隐式动画简单来说就是用 setState 就能呼唤出来的动画。对于实现了隐式动画的组件,只要Widget被更新,那么一个过渡动画就会自动产生并且播放。
隐式动画和显示动画的区别?
1,隐式动画是一次性的,单方向的,由某个属性值的变化驱动,例如透明度从0到1的变化,无法实现动画效果从0到1再到0的自动重复,且动画一旦开始就无法停止,直到动画完成。
2,隐式动画只能控制duration和curve,不需要创建控制器controller,只需几行代码就可实现简单的动画效果,显式动画则有更多的控制权,比如可以随时控制动画的开始和暂停,并且可以实现循环的,交错的变化效果。
3,隐式动画可以做的,显式动画都可以实现,只是实现起来相对比较麻烦一些,下一章我们将具体讲解显式动画。
隐式动画和显示动画如何选择?
我们在某种场景下应该使用这两种动画中的哪一个的简单判断条件是,“你是否需要干预动画的执行”。如:在动画执行过程的任意时刻停止动画,动画完成时你需要重复执行、翻转动画,如果你需要干预动画请选择显示动画, 否则选择隐式动画则会方便很多。
内置的隐式动画组件
Flutter已经内置了很多已经实现了隐式动画的组件&