Flutter 使用列内堆栈使底部溢出无限像素

Flutter 使用列内堆栈使底部溢出无限像素,flutter,dart,Flutter,Dart,我正在使用堆栈小部件在屏幕内显示动画。我只使用了70%的屏幕,其余的我都没有使用。我想在那里展示一些别的东西。当我将堆栈小部件包装到一列中时,它给出了错误:底部被无限像素溢出 我尝试使用Container和SizedBox添加自定义高度。还尝试使用了SingleChildScrollView。还是一样的错误 代码: @覆盖 小部件构建(构建上下文){ 返回脚手架( 背景颜色:白色, 正文:专栏( 儿童:[ 堆叠( 儿童:[ 大小盒子( 高度:MediaQuery.of(上下文).size.hei

我正在使用堆栈小部件在屏幕内显示动画。我只使用了70%的屏幕,其余的我都没有使用。我想在那里展示一些别的东西。当我将堆栈小部件包装到一列中时,它给出了错误:底部被无限像素溢出

我尝试使用Container和SizedBox添加自定义高度。还尝试使用了
SingleChildScrollView
。还是一样的错误

代码:

@覆盖
小部件构建(构建上下文){
返回脚手架(
背景颜色:白色,
正文:专栏(
儿童:[
堆叠(
儿童:[
大小盒子(
高度:MediaQuery.of(上下文).size.height*0.72,
儿童:FlareActor(
“assets/videos/stars.flr”,
对齐:对齐.center,
适合:BoxFit.cover,
动画:“闪烁”,
控制器:_控制器,
),
),
容器(
子:Transform.scale(
比例:0.6,
儿童:FlareActor(
“资产/视频/talking earth.flr”,
对齐:对齐.center,
适合:BoxFit.cover,
动画:“已激活”,
控制器:_控制器,
),
),
),
定位(
左:MediaQuery.of(context).size.width/3.8,
顶部:MediaQuery.of(context).size.width/10,
子:文本(
“已出版”,
样式:GoogleFonts.pts(
颜色:白色,
fontSize:ScreenUtil().setSp(50),
fontWeight:fontWeight.bold),
),
),
],
),
文本(“测试”),
],
),
);
}
}

您需要先用容器包装堆栈,设置预定义的高度。这是因为堆栈大小依赖于其父级


以下是有关堆栈的官方文档:

无论您是在
列中使用
堆栈
,还是在单机版中使用,如果内容超出边界,它总是会溢出。您需要确定
Stack
是否是适合您的用例的正确小部件?作为一种解决方法,您可以使用
溢出:overflow.visible
。首先尝试使用容器包装堆栈,设置预定义的height@JuanCurti谢谢,这很有效。请写下来作为回答,这样我就可以接受了,
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: whiteColor,
      body: Column(
        children: [
          Stack(
            children: <Widget>[
              SizedBox(
                height: MediaQuery.of(context).size.height * 0.72,
                child: FlareActor(
                  'assets/videos/stars.flr',
                  alignment: Alignment.center,
                  fit: BoxFit.cover,
                  animation: 'Blink',
                  controller: _controller,
                ),
              ),
              Container(
                child: Transform.scale(
                  scale: 0.6,
                  child: FlareActor(
                    'assets/videos/talking-earth.flr',
                    alignment: Alignment.center,
                    fit: BoxFit.cover,
                    animation: 'activated',
                    controller: _controller,
                  ),
                ),
              ),

              Positioned(
                left: MediaQuery.of(context).size.width / 3.8,
                top: MediaQuery.of(context).size.width / 10,
                child: Text(
                  "Published",
                  style: GoogleFonts.ptSansNarrow(
                      color: whiteColor,
                      fontSize: ScreenUtil().setSp(50),
                      fontWeight: FontWeight.bold),
                ),
              ),
            ],
          ),
          Text("Test"),
        ],
      ),
    );
  }
}