我想将Stack放置在Flutter中,如果我更改了内部Stack的已定位小部件的位置,则无法使用。
有效:
Stack(
children: [
Positioned(
top: 150.0,
child: Text("Text#1"),
),
Positioned(
top: 100.0,
child: Stack(
children: [
Positioned(
child: Text("Text#2"),
)
],
),
)
],
)
如果我在内部Stack的位置中添加“ top:200.0”,则内部Stack消失并且抖动引发错误
Stack(
children: [
Positioned(
top: 150.0,
child: Text("Text#1"),
),
Positioned(
top: 100.0,
child: Stack(
children: [
Positioned(
top:200.0,
child: Text("Text#2"),
)
],
),
)
],
答案 0 :(得分:-1)
您可以使用具有高度和宽度属性的容器包装第二个 Stack 。< / p>
父窗口小部件的堆栈填充高度和宽度,但是在您的情况下,父窗口小部件的高度和宽度未定义,因为它是堆栈窗口小部件。如果您定义父窗口小部件的大小,以便堆栈窗口小部件可以从其起点定位其子窗口小部件。
Stack(
children: [
Positioned(
top: 350.0,
child: Text("Text#1"),
),
Positioned(
top: 100.0,
child: Container(
height: mediaQueryData.size.height,
width: mediaQueryData.size.width,
child: Stack(
children: [
Positioned(
top:200.0,
child: Text("Text#2"),
)
],
),
),
)
],
),