AnimatedContainer似乎不适合Container,也不适合FlutterLogo,为什么会这样呢?
代码:
bool _value = true;
@override
Widget build(BuildContext context) {
var flutterLogo = FlutterLogo(size: _value ? 400 : 200, colors: Colors.blue,);
var container = Container(height: _value ? 400 : 200, color: Colors.blue,);
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () => setState(() => _value = !_value),
),
body: AnimatedContainer(
duration: Duration(milliseconds: 1000),
child: container, // putting flutterLogo here works fine
),
);
}PS:
我知道height属性存在于AnimatedContainer中,它解决了这个问题,但是我想知道为什么普通的Container height会在这里失败。
发布于 2019-08-10 13:38:50
当其子节点的大小发生变化时,AnimatedContainer不会显示动画。如果没有指定height/width,则使用其子节点的大小。
它适用于FlutterLogo的事实与AnimatedContainer完全无关。是FlutterLogo使它的大小生动化。
https://stackoverflow.com/questions/57442448
复制相似问题