Flutter-使小部件共享堆栈中的空间

时间:2019-11-20 16:47:56

标签: flutter flutter-layout

我想要创建一种行为,类似于在列中看到的行为,其中一个小部件被展开(widget1),而另一个小部件则占用尽可能少的空间。

查看此图片: enter image description here

但是这需要放在堆栈中,因为我打算使底部小部件在打开时与顶部小部件重叠(就像一张纸一样)。

我当前的实现是告诉小部件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

有什么想法吗?

0 个答案:

没有答案