Flutter 颤振调整动画容器在覆盖内的高度

Flutter 颤振调整动画容器在覆盖内的高度,flutter,flutter-animation,Flutter,Flutter Animation,我构建了一个简单的代码,以了解如何将覆盖菜单与动画结合起来,在这个代码中,当我点击按钮时,我们可以看到简单的容器,其中包含一些其他小部件,我已经厌倦了设置高度动画,这是我的问题,在这个容器中内部覆盖我有一些小部件,比如列表块,这些项目的计数是可选的 在没有height参数的情况下,如何通过指定子级计数来调整容器的高度动画 导入“包装:颤振/材料.省道”; void main(){ runApp(MyApp()); } 类MyApp扩展了无状态小部件{ @凌驾 小部件构建(构建上下文){ 返回材料

我构建了一个简单的代码,以了解如何将
覆盖
菜单与动画结合起来,在这个代码中,当我点击按钮时,我们可以看到简单的
容器
,其中包含一些其他小部件,我已经厌倦了设置高度动画,这是我的问题,在这个
容器中
内部
覆盖
我有一些小部件,比如
列表块
,这些项目的计数是可选的

在没有
height
参数的情况下,如何通过指定子级计数来调整容器的高度动画

导入“包装:颤振/材料.省道”;
void main(){
runApp(MyApp());
}
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
标题:“覆盖菜单”,
主页:overlymenu(),
);
}
}
类OverlyMenu扩展StatefulWidget{
@凌驾
State createState()=>\u overlymenu();
}
类_overlymenu使用TickerProviderStateMixin扩展状态{
AnimationController _AnimationController;
动画(动画),;
@凌驾
void initState(){
super.initState();
_animationController=animationController(vsync:this,duration:const duration(毫秒:250));
_animation=Tween(开始:0.0,结束:1.0)。设置动画(\u animationController);
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(),
正文:中(
孩子:升起按钮(
子:文本(“单击此处”),
已按下:(){
返回_showOverlayHomeMenu(上下文,_animationController);
},
),
),
);
}
Future\u showOverlayHomeMenu(BuildContext上下文,AnimationController AnimationController)异步{
最终覆盖状态_overlystate=Overlay.of(上下文);
最终OverlayEntry\u OverlayEntry=OverlayEntry(生成器:(上下文){
返回定位(
顶部:KToolbar高度-20,
右图:20.0,
孩子:卡片(
标高:8.0,
形状:RoundedRectangleBorder(borderRadius:borderRadius.circular(8.0)),
颜色:常量颜色(0xFF32313C),
子对象:动画大小(
vsync:这个,,
曲线:Curves.FastLinearToSlowesein,
持续时间:常量持续时间(毫秒:2000),
子:容器(
宽度:200.0,
高度:300.0,//应该是可选的,带有儿童尺寸
子:const listile(
标题:正文(
“aaaaaaa”,
样式:TextStyle(颜色:Colors.white),
),
领先:图标(
A.评估,
颜色:颜色,白色,
),
),
),
),
));
});
_animationController.addListener((){
_overlystate.setState((){});
});
_OverlyState.插入(\u OverlyEntry);
_animationController.forward();
等待未来。延迟(常量持续时间(毫秒:3500));
_animationController.reverse();
_覆盖入口。移除();
}
}

您好,您看到这个库了吗?我希望这能帮助你。。。