Flutter Widget 之 AnimationContainer

531 阅读1分钟

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

原文翻译自视频:视频地址