android - 堆栈油漆容器,但不是 DecoratedBox
问题描述
我只是想在堆栈中显示一个带有其他小部件的红色框,但是当我使用 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),
),
)
推荐阅读
- python - 如何在条形图中显示第一个条形
- php - 我们如何在 Laravel 中更新/连接 whereHas 条件
- windows - 批量缺少操作数 errpr
- sql-server - liquibase.exception.DatabaseException:无法使用驱动程序 com.microsoft.sqlserver.jdbc.SQLServerDriver 创建连接
- python-3.x - 如何在 .kv 文件中使用 webbrowser
- braintree - 如何使用 dropin UI 和 3DS2 订阅 Braintree?
- swift - 在范围内找不到“OSSignposter”
- javascript - 如何在 vuejs 项目中实现来自 ejs 的部分
- reactjs - 在 React 中使用 map 更改状态值时如何选择单个列表元素
- javascript - 如何使用功能组件检测本机应用程序中的屏幕方向变化