我需要一个组件插入到一个有一两个制表符的SingleChildScrollView子列表中。
下面是我的build()方法:
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 (水平视口被赋予无限高)。视图在横轴中展开,以填充容器,并约束其子视图与其交叉轴中的范围匹配。在这种情况下,水平视图被赋予无限的垂直空间来扩展。)
当然,如果我这么做了:
Container(
height: 600,
width: double.infinity,
child: TabBarView(children: [错误消失。
那么,我的问题是如何转换代码,以便容器自己计算一个令人窒息的子框?
发布于 2022-12-01 16:25:15
尝试用Expanded包装小部件,或者使用SizedBox包装
SizedBox.expand(
child: TabBarView(),
)另一种方式是:
SizedBox(
height: MediaQuery.of(context).size.height
child: TabBarView(),
)https://stackoverflow.com/questions/74644934
复制相似问题