Flutter 如何与动态容器的顶部(起点)和底部(终点)对齐?

Flutter 如何与动态容器的顶部(起点)和底部(终点)对齐?,flutter,flutter-layout,Flutter,Flutter Layout,我试图以一种方式来布局我的容器,将行拆分两次,并使用两个单独的列。 在这些单独的列中,我希望能够显示容器底部的文本,以及使用flex:7展开的第一行中容器顶部的文本。在第一列中绘制每个容器时,这些文本小部件将动态更改 将crossAxisAlignment:crossAxisAlignment.start更改为crossAxisAlignment:crossAxisAlignment.end在容器内的第一行中,可将我的文本设置为文本底部所需的位置。但是crossAxisAlignment:cro

我试图以一种方式来布局我的容器,将行拆分两次,并使用两个单独的列。 在这些单独的列中,我希望能够显示容器底部的文本,以及使用
flex:7
展开的第一行中
容器顶部的文本。在第一列中绘制每个容器时,这些文本小部件将动态更改

crossAxisAlignment:crossAxisAlignment.start
更改为
crossAxisAlignment:crossAxisAlignment.end
容器内的第一行中
,可将我的文本设置为文本底部所需的位置。但是
crossAxisAlignment:crossAxisAlignment.start
用于文本的顶部

我还尝试在两个文本字段之间使用
扩展的
小部件,但由于高度无限,并且无法计算容器的大小,因此失败了。我不想将约束添加到容器中,除非约束是动态定义的。我还尝试过将所有内容包装在
扩展的
小部件中,我尝试过使用
定位
小部件,但这些选项都不起作用

下面是一幅我正在努力完成的非常奇特的图画:

这是我的密码:

class TestingSomething extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ListView(
      children: [
        Column(
          children: [
            Container(
              alignment: Alignment.center,
              padding: EdgeInsets.all(10),
              child: Row(
                mainAxisAlignment: MainAxisAlignment.start,
                crossAxisAlignment: CrossAxisAlignment.start,
                mainAxisSize: MainAxisSize.min,
                children: [
                  Expanded(
                    flex: 7,
                    child: Column(
                      children: [
                        Padding(
                          padding: EdgeInsets.all(10),
                          child: Text("Hope"),
                        ),
                        Align(
                          alignment: Alignment.bottomCenter,
                          child: Text("test"),
                        ),
                      ],
                    ),
                  ),
                  Expanded(
                    flex: 3,
                    child: Column(
                      children: [
                        Text(
                            "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum")
                      ],
                    ),
                  )
                ],
              ),
              decoration: BoxDecoration(
                  boxShadow: [
                    BoxShadow(
                      color: Colors.black.withOpacity(0.3),
                      spreadRadius: 2,
                      blurRadius: 1,
                      offset: Offset(-1, 3), // changes position of shadow
                    ),
                  ],
                  color: Colors.red.shade600,
                  borderRadius: BorderRadius.circular(10)),
            )
          ],
        )
      ],
    );
  }
}

我已经被困在这个问题上好几个小时了。提前谢谢。

这很有效。需要将
IntrinsicHeight
小部件和
crossAxisAlignment:crossAxisAlignment.stretch组合在一起

ListView(
    children: [
      Column(
        children: [
          Container(
            alignment: Alignment.center,
            padding: EdgeInsets.all(10),
            child: IntrinsicHeight(
              child: Row(
                mainAxisAlignment: MainAxisAlignment.start,
                crossAxisAlignment: CrossAxisAlignment.stretch,
                mainAxisSize: MainAxisSize.min,
                children: [
                  Expanded(
                    flex: 7,
                    child: Column(
                      mainAxisSize: MainAxisSize.max,
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: [
                        Padding(
                          padding: EdgeInsets.all(10),
                          child: Text("Hope"),
                        ),
                        Align(
                          alignment: Alignment.bottomCenter,
                          child: Text("test"),
                        ),
                      ],
                    ),
                  ),
                  Expanded(
                    flex: 3,
                    child: Column(
                      children: [
                        Text(
                            "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum")
                      ],
                    ),
                  )
                ],
              ),
            ),
            decoration: BoxDecoration(
                boxShadow: [
                  BoxShadow(
                    color: Colors.black.withOpacity(0.3),
                    spreadRadius: 2,
                    blurRadius: 1,
                    offset: Offset(-1, 3), // changes position of shadow
                  ),
                ],
                color: Colors.red.shade600,
                borderRadius: BorderRadius.circular(10)),
          )
        ],
      )
    ],
  )

@pskink在那里运气不好,尝试了每个选项。非常感谢,我将深入了解
IntrinsicHeight
以了解为什么会这样。但这是完美的!