动画
MPFlutter 与 Flutter 的动画实现方法完全一致,但是请注意,在 Debug 模式下动画执行可能存在卡顿。
#
隐式动画最常用的 Flutter 动画是隐式动画,以下组件是支持隐式动画的。
- AnimatedAlign
- AnimatedContainer
- AnimatedOpacity
- AnimatedPadding
- AnimatedPositioned
- AnimatedSize
- AnimatedCrossFade
隐式动画原理是通过 StatefulWidget
中的状态变化,重建组件属性,并根据属性的前值、新值构建插值动画,这里以 AnimatedContainer
作例子演示隐式动画的使用。
点击蓝色区块,rotated
属性变更,build
方法会重新构建,transform 属性和背景色属性发生变化。
此时,蓝色区块不会立即变更为橙色和 45 度角旋转,它会以 750ms 的时长,以动画方式变更至目标值。
#
自定义动画你还可以通过使用 AnimationController
的方式,实现自定义动画,可控性更高,具体的 AnimationController
使用方法可以参考 Flutter 官网教程,这里只作代码演示。
可见,AnimationController
存在 value
,value
值会随插件器更新,并通过该 value
驱动界面变化。