Flutter 如何使容器的宽度与其高度匹配

Flutter 如何使容器的宽度与其高度匹配,flutter,flutter-layout,Flutter,Flutter Layout,我有一个容器,它的高度基于它的父容器,它是一个扩展的,弹性为2。我需要高度和宽度相同。我不想创建固定宽度,例如width:100.0。是否可以使宽度与扩展的容器内的容器的高度匹配?为此,您必须使用布局生成器,以下是最小的代码: Column( children: <Widget>[ Expanded( flex: 2, child: LayoutBuilder( builder: (_, constraints) {

我有一个
容器
,它的高度基于它的父容器,它是一个
扩展的
,弹性为2。我需要高度和宽度相同。我不想创建固定宽度,例如
width:100.0
。是否可以使宽度与
扩展的
容器内的
容器的高度匹配?

为此,您必须使用
布局生成器,以下是最小的代码:

Column(
  children: <Widget>[
    Expanded(
      flex: 2,
      child: LayoutBuilder(
        builder: (_, constraints) {
          return Container(
            color: Colors.blue,
            width: constraints.maxHeight, // width is made equal to height
          );
        },
      ),
    ),
    Expanded(
      flex: 9,
      child: Container(color: Colors.orange),
    ),
  ],
)

纵横比将起作用

AspectRatio(
       aspectRatio: 1,
       child: Container(
         color: Colors.red,
       ),
     )

使用
AspectRatio
@CopsOnRoad它是为这样的情况设计的:“一个试图将孩子的大小调整到特定长宽比的小部件。”@pskink我想我应该将它包括在我的解决方案中,但有人已经回答了它。@CopsOnRoad继续,并将它添加到您的amswer中
AspectRatio(
       aspectRatio: 1,
       child: Container(
         color: Colors.red,
       ),
     )