flutter - 一个 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),
],
),
),
),
],
),
),
),
);
}
解决方案
如果您
SingleChildScrollView
在列或行内使用,则使用Expanded
Widget 将其包装起来。e.g. Column( childreen[ Expanded( child : SingleChildScrollView( // your code ... ), ]),
或者您可以为容器提供高度。
e.g. -> Container( height : 300.0, child : SingleChildScrollView( // your code ... ), ),
快乐编码... :)