我需要根据条件在其他内容上绘制小部件。我想根据需要对齐此小部件(使用Alignment
)。我以为我需要使用Stack
,即
Stack(
children: [
Column(), // Content
Visibility(
visible: isVisible, // condition is here
child: Container(
//height: double.infinity, // cause rendering crash
child: Container(
padding: ...,
margin: ...,
color: Colors.red,
child: Text('message')
),
),
),
],
)
我需要第一个Container
将填充Stack
的整个位置,然后将第二个Container
放置在第一个Container
内部的任何位置。
所需的初始条件不使用Positioned
。
所以原则上可行吗?如果否,则可以使用Positioned
。我实现了一个类似SnackBar
的矩形,可以将其放置在父矩形内。
无法使用heigth:double.infinity
而不是包装到扩展小部件中。
Stack(
children: [
Column(), // Content
Visibility(
visible: isVisible, // condition is here
child: Expanded(
child: Container(
padding: ...,
margin: ...,
color: Colors.red,
child: Text('message')
),
),
),
],
)