gpt4 book ai didi

flutter - 使 TabBarView 占用所有剩余空间

转载 作者:IT王子 更新时间:2023-10-29 06:57:11 29 4
gpt4 key购买 nike

Flutter 的新手,不知道如何在我的 UI 上设置大小限制,以免溢出。尝试使用选项卡制作一些不同的 UI,我在选项卡栏上方有一些组件。基本上我想要这样的东西:

--------------------
| Container |
--------------------
| TabBar |
--------------------
| |
| |
| TabBarView |
| |
| |
--------------------
| Container |
--------------------

问题是,我不知道如何让 TabBarView 占用剩余空间。我的代码示例甚至无法运行,只会给我这样的错误:

I/flutter(3875):══╡渲染库捕获异常╞════════════════════════════════════ ══════════════════════════I/flutter ( 3875 ): 在 performResize() 期间抛出以下断言:I/flutter ( 3875 ): 水平视口(viewport)被赋予无限高度。I/flutter ( 3875 ): 视口(viewport)在横轴上扩展以填充它们的容器并约束它们的 child 以匹配I/flutter ( 3875):它们在横轴上的范围。在这种情况下,水平视口(viewport)被赋予了无限量的I/flutter ( 3875 ): 扩展的垂直空间。

  Widget build(BuildContext context) {
List<Tab> myTabs = <Tab>[
Tab(text: 'TAB 1'),
Tab(text: 'TAB 2'),
Tab(text: 'TAB 3'),
];

Widget topBar = Container(
padding: EdgeInsets.all(10),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
Text("TEXT 1"),
Text("TEXT 2"),
Text("TEXT 3"),
],
));

Widget bottomBar = Row(
children: <Widget>[
RaisedButton(child: Text("Cancel")),
RaisedButton(child: Text("OK")),
],
);

return DefaultTabController(
length: 3,
child: Scaffold(
appBar: AppBar(
title: Text("Test"),
),
body: Column(
children: <Widget>[
topBar,
TabBar(
tabs: myTabs,
),
TabBarView(
children: myTabs.map((Tab tab) {
return Container(
color: Colors.red,
child: Text(tab.text)
);
}).toList(),
),
],
),
bottomNavigationBar: bottomBar,
),
);
}

最佳答案

将 TabBarView 放入 Expanded 小部件中

关于flutter - 使 TabBarView 占用所有剩余空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55995077/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com