容器内的颤动容器

osa*_*amu 5 flutter

这些天我正在练习飘动的容器,而我想出的这个例子简直令人惊讶

我把尺寸为50x50的容器放在200x200的容器内.奇怪的是内部容器扩展到200x200,即使它有50x50的严格约束.

这是代码

Container(
  width: 200.0,
  height: 200.0,
  color: Colors.orange,
  child: Container(
    width: 50.0,
    height: 50.0,
    color: Colors.blue,
  ),
)
Run Code Online (Sandbox Code Playgroud)

我希望在一个更大的橙色盒子里面放一个小蓝盒子.

有人能解释为什么吗?

Ric*_*eap 15

您需要指定橙色框中您希望显示蓝色框的位置,否则蓝色框将增长到其父级的大小.

  Container(
    width: 200.0,
    height: 200.0,
    color: Colors.orange,
    alignment: Alignment.center, // where to position the child
    child: Container(
      width: 50.0,
      height: 50.0,
      color: Colors.blue,
    ),
  ),
Run Code Online (Sandbox Code Playgroud)

  • 已经快3年过去了。仍然必须指定如图所示的对齐方式以避免内部容器意外膨胀仍然非常不直观。难道 Flutter 团队就不能指定一个默认的 Alignment(例如 Alignment.topLeft)来避免这种不合逻辑的情况吗?! (8认同)