我正在尝试构建一个按钮,当点击该按钮时,它将扩展为卡片,其中将包含供用户填写的表格。我的最终目标是为按钮制作一个类似于this的动画
但是,我在从父窗口小部件的一个窗口小部件树平稳过渡到另一窗口小部件树时遇到了麻烦。
要想直观地看到我要实现的小部件树中的更改,请考虑我要从以下状态A ...
Sscaffold:
Column:
- something_above
- Card:
Button
- something_below
...进入目标状态B ...
Sscaffold:
Column:
- something_above
- Card:
Column:
- TextField
- DropdownMenu
- Button
- something_below
...同时流畅地动画显示Card的宽度和高度等属性。
我目前尝试制作这种动画的方法是,将AnimatedContainer与带有子项的builder方法一起使用,该方法根据某些状态参数返回原始按钮或表单。
AnimatedContainer(
child: _getChild(isOpen),
duration: Duration(seconds: 1),
color: Colors.blue,
)
但是,这是行不通的,并且似乎动画容器仅在其自身属性之一更改时才执行插值。
所以一切都归结为问题;是否有一个小工具可以促进这种转换,如果没有,我可以在哪里开始实现这种行为?