Flutter有很多Widget帮助你显示动画,这些动画是由你们开发者设计出来的
但也有一些Widget可以用于控制隐含的动画,你可以根据你的需求来使用它们,这里向你推荐一款Widget AnimatedContainer
你可以用某个特定的属性,例如色彩
@override
Widget build(BuildContext context) {
return AnimatedContainer(
color: _color, //(0xFF00BB00)
duration: _myDuration,
child: SomeOtherWidhet(),
);
}
当你rebuild的使用使用一个不一样的值,在setState里面调用
setState((){
_color = Color(0xFF0000FF);
}
)
AnimatedContainer在两个值之间实施线性插值法,而且这还不止color
可以animate
- borders
- border radii
- background images
- shadows
- gradients
- shapes
- padding
- width
- height
- alignment
- transforms
- and more
动画的长度由duration参数来控制
duration: _myDuration
你也可以指定你自己的曲线来个性化效果
curve: Curves.bounceIn
如果想了解有关AnimatedContainer的内容,或者关于Flutter的其他功能,请访问flutter.io
原文翻译自视频:视频地址