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(....),// 省略无关代码
        ),
      ],
    );
  }

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐