首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决无界高度问题?

如何解决无界高度问题?
EN

Stack Overflow用户
提问于 2022-12-01 16:12:36
回答 1查看 31关注 0票数 0

我需要一个组件插入到一个有一两个制表符的SingleChildScrollView子列表中。

下面是我的build()方法:

代码语言:javascript
复制
Widget build(BuildContext context) {
    /// TODO: Make firmware update support for iOS asap
    final isBleFirmwareUpdateSupported = Platform.isAndroid;

    return DefaultTabController(
        length: isBleFirmwareUpdateSupported ? 2 : 1,
        child: Column(children: [
          // === "Firmware BLE update"
          Text(i18n_Firmware_update.i18n,
              style: Theme.of(context).textTheme.headline6),

          spacer,
          // == Pick Wifi or BLE
          TabBar(
            tabs: [
              Tab(icon: Icon(Icons.wifi)),
              if (isBleFirmwareUpdateSupported)
                Tab(icon: Icon(Icons.bluetooth)),
            ],
          ),

          Center(
              child: TabBarView(children: [
            Center(child: Text("WiFi")),
            Center(child: Text("BLE"))
      ]))
        ]));
  }
}

但我明白错误

FlutterError (水平视口被赋予无限高)。视图在横轴中展开,以填充容器,并约束其子视图与其交叉轴中的范围匹配。在这种情况下,水平视图被赋予无限的垂直空间来扩展。)

当然,如果我这么做了:

代码语言:javascript
复制
          Container(
              height: 600,
              width: double.infinity,
              child: TabBarView(children: [

错误消失。

那么,我的问题是如何转换代码,以便容器自己计算一个令人窒息的子框?

EN

回答 1

Stack Overflow用户

发布于 2022-12-01 16:25:15

尝试用Expanded包装小部件,或者使用SizedBox包装

代码语言:javascript
复制
SizedBox.expand(
    child: TabBarView(),
  )

另一种方式是:

代码语言:javascript
复制
SizedBox(
    height: MediaQuery.of(context).size.height 
    child: TabBarView(),
  )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74644934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档