将换行文本限制为实际文本

Mar*_*ele 2 flutter flutter-layout

我有一个由三个相等部分组成的行。代码如下并附有输出(屏幕截图)

Row(
    children:[
      Spacer(),
      Expanded(child: Container(color:Colors.orange, child: Text("The quick brown fox jumps over the lazy dog", style: TextStyle(fontSize: 24),))),
      Spacer()
    ]
  ),
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想将文本水平居中在橙色框中(同时保持两行相互左对齐)。所以我想将“dog”后面的一半空间移到左侧,“The”和“jumps”前面,如果这有意义的话。

我怎样才能做到这一点?我玩过 IntrinsicWidth、Center、Row、textAlign,但似乎没有任何效果

Mar*_*ele 5

诀窍是使用textWidthBasis: TextWidthBasis.longestLine

以下代码产生了我想要的结果(参见屏幕截图)

Row(
    children:[
      Spacer(),
      Expanded(child: Container(
        color:Colors.orange,
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            Text(
                "The quick brown fox jumps over the lazy dog",
                textWidthBasis: TextWidthBasis.longestLine,
                style: TextStyle(fontSize: 24),),
          ],
        ),
      )),
      Spacer()
    ]

  ),
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述