首页 > 解决方案 > 一个 RenderFlex 在底部溢出了 729 个像素。在 SingleChildScrollView

问题描述

一个 RenderFlex 在底部溢出了 676 个像素。在 SingleChildScrollView

小部件仪表板(上下文){返回动画位置(持续时间:持续时间,顶部:0,底部:0,左:isCollapsed?0:0.6 * screenWidth,右:isCollapsed?0:-0.2 * screenWidth,孩子:ScaleTransition(比例:_scaleAnimation,孩子:材质(animationDuration:持续时间,borderRadius:BorderRadius.all(Radius.circular(40),),海拔:8,颜色:backgroundColor,孩子:列(crossAxisAlignment:CrossAxisAlignment.start,孩子:[容器(填充:常量EdgeInsets .only(left: 16, right: 16, top: 48), child: Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisSize: MainAxisSize.max,孩子:[InkWell(孩子:图标(Icons.menu,颜色:Colors.white),onTap:(){setState((){if(isCollapsed)_controller.forward();否则_controller.reverse();否则 _controller.reverse();否则 _controller.reverse();

                        isCollapsed = !isCollapsed;
                      });
                    },
                  ),
                  Text(
                    " Técnico",
                    style: TextStyle(
                      fontSize: 24,
                      color: Colors.white,
                    ),
                  ),
                  Icon(
                    Icons.settings,
                    color: Colors.white,
                  ),
                ]),
          ),
          Container(
              child: SingleChildScrollView(
                scrollDirection: Axis.vertical,
                physics: ClampingScrollPhysics(),
                child: Column(
                  children: <Widget>[
                  SizedBox(
                    height: 5,
                  ),
                  SizedBox(
                    height:20 ,
                  ),
                  Text("Chamados",
                  style: TextStyle(
                    color: Colors.white,
                    fontSize: 20,
                  ) ,
                  ),
                  SizedBox(
                    height:5 ,
                  ),
                  ListView.separated(
                      shrinkWrap: true,
                      itemBuilder: (context,index){
                    return ListTile(
                      title: Text("Falta de Sinal"),
                      subtitle: Text("João"),
                      trailing: Text("20mb"),
                    );
                  }, separatorBuilder: (context,index){
                    return Divider(
                      height: 16,
                    );
                  }, itemCount: 16),
                ],
                ),
              ),
          ),
      ],
      ),
    ),
  ),
);

}

标签: flutterdart

解决方案


  1. 如果您SingleChildScrollView在列或行内使用,则使用ExpandedWidget 将其包装起来。

    e.g. Column(
         childreen[
            Expanded(
                child : SingleChildScrollView(
                     // your code ...
              ),                  
           ]),
    
  2. 或者您可以为容器提供高度。

      e.g. -> Container(
                  height : 300.0,
                  child : SingleChildScrollView(
                    // your code ...              
                     ),
                  ),
    

快乐编码... :)


推荐阅读