flutter TabBarView 没有跟Scaffold 一起使用的时候,容易报 Horizontal viewport was given unbounded height 错误,例如将其作为Column的子元素,就会出现该错误。错误提示意思是水平视图高是无限的,这里由于是用在Column中,所以水平应该理解为垂直方向。解决该问题就是需要在其父级添加高度限制。例如在其外层包裹Expanded,并设置flex。如下:
Widget build(BuildContext context) {
return Column(
children: <Widget>[
header(),// 自定义组件
Expanded(// 设置高度。直接将TabBarView作为Column子元素,而不设置高度,会报错
flex: 1,
child: TabBarView(....),// 省略无关代码
),
],
);
}