如何将列宽设置为其子行中最长的列宽?

b k*_*b k 2 flutter flutter-layout

我有一列,它的所有子项都是单词行(文本小部件),每行都有 MainAxisAlignment.spaceBetween 的主要对齐方式。我想将列的宽度设置为子项之间最长的行,其他行将相应地更改之间的间距。

我的代码:

Container(
  color: Colors.green,
  child: Column(
  children: [
    Row(
      mainAxisAlignment: MainAxisAlignment.spaceBetween,
      children: [
        Text('A', style: Theme.of(context).textTheme.headline4), 
        Text('B', style: Theme.of(context).textTheme.headline4),
        Text('C', style: Theme.of(context).textTheme.headline4)
      ]),
     Row(
      mainAxisAlignment: MainAxisAlignment.spaceBetween,
      children: [
        Text('A', style: Theme.of(context).textTheme.headline4), 
        Text('B', style: Theme.of(context).textTheme.headline4),
        Text('C', style: Theme.of(context).textTheme.headline4),
        Text('D', style: Theme.of(context).textTheme.headline4),
        Text('E', style: Theme.of(context).textTheme.headline4),
      ]),
  ]))
Run Code Online (Sandbox Code Playgroud)

预期结果: 在此输入图像描述

实际结果:在此输入图像描述

假设我无法在容器中将其设置为固定宽度,如何将列宽(动态)设置为最长的行?

Cop*_*oad 5

将你的包裹Column起来IntrinsicWidth

IntrinsicWidth(
  child: Column(
    children: [
      Row(...),
      Row(...),
    ],
  ),
)
Run Code Online (Sandbox Code Playgroud)