我只想在堆栈中显示一个带有其他小部件的红色框,但是当我使用DecoratedBox而不是Container时,它不会在屏幕上绘制。我以为DecoratedBox只是Container的一个更明确的版本,我缺少什么?
Widget build(BuildContext context) {
return Stack(
children: <Widget>[
DecoratedBox( // doesn't work
decoration: BoxDecoration(
color: Colors.red,
),
),
],
);
}
最佳答案
Stack
不呈现DecoratedBox
的原因是它没有默认大小。另一方面,Container
将默认为其父级。Container
不仅是DecoratedBox
。它还使用其他小部件,包括SizedBox
和Alignment
。
因此:
Container(
color: Colors.red,
)
不等于:
DecoratedBox(
decoration: BoxDecoration(color: Colors.red),
)
但改为:
SizedBox.expand(
child: DecoratedBox(
decoration: BoxDecoration(color: Colors.red),
),
)
关于android - 堆叠涂料容器,但不装饰容器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57442887/