【发布时间】:2019-10-27 09:17:47
【问题描述】:
在 HTML 中创建一个分为 2 列的页面,跨越 100% 的屏幕高度很容易
<div id="row">
<div id="column1" style="width:75%; height:100%"></div>
<div id="column2" style="width:25%; height:100%"></div>
</div>
使用 Flutter 这似乎比它应该的要复杂,我尝试通过两种方式实现上述目标:(页面的轮廓是 CustomScrollView -> SliverToBoxAdapter -> Row -> Columns)
使用
MediaQuery将列的高度设置为deviceSize.height。这失败了,因为随着左列比右列大,右列没有扩大到匹配的大小。使用
Expanded或Flexible(紧或松)尝试扩大高度。这不起作用。
我的问题是如何在 Flutter web 中实现 100% 高度而不是 100vh 高度?
编辑:
这说明了问题,右列的大小没有扩大到与左列匹配。
CustomScrollView(
slivers: <Widget>[
SliverFillRemaining(
child: Container(
color: Colors.purple,
child: SingleChildScrollView(
child: Row(
children: <Widget>[
Container(
color: Colors.blue,
child: Column(
children: <Widget>[
Text("test"),
SizedBox(height: 300),
Text("test"),
SizedBox(height: 300),
Text("test"),
SizedBox(height: 300),
Text("test"),
SizedBox(height: 300),
],
),
),
Container(
color: Colors.yellow,
child: Column(
children: <Widget>[Text("test")],
),
),
],
),
),
),
),
],
);
【问题讨论】:
-
好的..现在问题很清楚了。因此,您希望黄色 Text 小部件在其增长时扩展并拉伸其高度以匹配左侧列表的高度。这可能有点挑战性,因为持有这个小部件的容器不共享与其兄弟相同的约束。我会试一试的。
-
是的,很抱歉不清楚!感谢您的帮助!
标签: flutter flutter-web