我正尝试在屏幕上添加两个小部件,如下图所示:
“小部件A”是一个大小未知的容器,因为其大小取决于其中的文本量。 “小部件B”应始终与“小部件A”重叠,并应部分放置在其下方,且仅占小部件A宽度的75%。
我知道我很可能需要一个堆栈,以便将小部件相互绘制。
我以前使用过布局生成器来获取父级的约束,但是在这种情况下,“小部件A”和“小部件B”都是堆栈的同级,所以我不确定如何获取其大小。 / p>
答案 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,
);
}),
],
);