我想要创建一种行为,类似于在列中看到的行为,其中一个小部件被展开(widget1),而另一个小部件则占用尽可能少的空间。
但是这需要放在堆栈中,因为我打算使底部小部件在打开时与顶部小部件重叠(就像一张纸一样)。
我当前的实现是告诉小部件1占据屏幕的3/4,小部件2占据屏幕的1/4,但是我想让小部件2只占据所需的空间,小部件1占据其余的空间。 / p>
body: LayoutBuilder(builder: (context, constraints) {
return Stack(
children: [
Container(
height: (constraints.maxHeight * 3 / 4) + 12, // +12 to extend to the corners of widget 2
child: FlutterMap(
... //not important
),
Align(
alignment: Alignment.bottomCenter,
child: SuggestionBottomSheet(
peekHeight: constraints.maxHeight / 4,
maxHeight: constraints.maxHeight,
),
),
],
);
}),
也许通过知道小部件2 widget2Height
的大小,我可以告诉小部件1使用constraints.maxHeight - widget2Height + 12
有什么想法吗?