flutter中通过animatedWidget和AnimatedBuilder两个类可以快速搭建动画:
1:animatedwidget可以理解为animation的帮助类,在不使用此类添加动画效果的时候,需要手动的添加addListener()并在回调用使用setstate方法才能看到动画的效果,使用animatedwidget可以简化这样的操作,可以理解为创建一个widget自带动画效果。
以下实例为通过animatedwidget实现图片有小到大的动画。
//思路:
/**
* 1 创建animationlogo的widget类 实现其构造函数和build方法(用于指明动画样式和具体动作)
* 2 创建state类 其中initstate函数中通过实例化controller对象和animation类对象指明animation的动画
* 3 在state的build函数中返回实例的animationlogo对象
*/
class TestAnimation2 extends StatefulWidget {
@override
_TestAnimationState createState() {
return _TestAnimationState();
}
}
//创建一个动画类继承自animatedwidget(其中可以通过构造函数传入必要的动画)
class AnimationLogo extends AnimatedWidget {
@override
Widget build(BuildContext context) {
final Animation<double> animation = listenable;
return Center(
child: Container(
margin: new EdgeInsets.symmetric(vertical: 10),
height: anim