如果我为高度
或宽度
分配值
,容器
就会动画化。但是,我不想将任何 height
或 width
分配给 container
。
现在,当我为其分配子
时,容器
大小会自动设置。如果 child
的大小发生变化,container
的大小也会发生变化。
我的代码如下所示
AnimatedContainer(
padding:
EdgeInsets.symmetric(horizontal: 20, vertical: 5),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(20),
),
child: Text(
'$someText',
style: TextStyle(
color: Colors.amber,
fontWeight: FontWeight.bold,
fontSize: 16),
),
),
如果$someText
的值改变,container
宽度也会改变。但动画
不起作用。
最佳答案
您应该尝试使用 AnimatedSize,而不是 AnimatedContainer。
Container(
padding: EdgeInsets.symmetric(horizontal: 20, vertical: 5),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(20),
),
child: AnimatedSize(
vsync: this,
duration: Duration(milliseconds: 200),
child: Text(
'Text',
style: TextStyle(
color: Colors.amber, fontWeight: FontWeight.bold, fontSize: 16),
),
),
),
此外,您还必须为此将 TickerProviderStateMixin 添加到您的状态。
关于flutter - 如果我不给出高度或宽度,AnimatedContainer 大小不会产生动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59902050/