在颤振中获取同级小部件的尺寸

时间:2019-11-28 12:15:15

标签: flutter flutter-layout

我正尝试在屏幕上添加两个小部件,如下图所示:

enter image description here

“小部件A”是一个大小未知的容器,因为其大小取决于其中的文本量。 “小部件B”应始终与“小部件A”重叠,并应部分放置在其下方,且仅占小部件A宽度的75%。

我知道我很可能需要一个堆栈,以便将小部件相互绘制。

我以前使用过布局生成器来获取父级的约束,但是在这种情况下,“小部件A”和“小部件B”都是堆栈的同级,所以我不确定如何获取其大小。 / p>

1 个答案:

答案 0 :(得分:0)

好吧,挠了一下头后,刚发布后我就知道了怎么做。 因此,“小部件A”位于一列中,底部有一些空间,而小部件B则位于其底部堆叠的位置

Stack(
  fit: StackFit.expand,
  alignment: Alignment.bottomCenter,
  children: <Widget>[
    //widget a
    LayoutBuilder(builder: (BuildContext context, BoxConstraints constraints) {
      return Column(
        children: <Widget>[
          Container(
            height: constraints.maxHeight-10,
            child: widget.child,
            color: Colors.indigo,
          ),
          SizedBox(height: 10,),
        ],

      );
    }),
    //widget b
    LayoutBuilder(builder: (BuildContext context, BoxConstraints constraints) {
      return Container(
        height: constraints.maxHeight,
        width: constraints.maxWidth * 0.75,
        color: Colors.greenAccent,
      );
    }),
  ],
);