如何在颤动中将同一行中的 2 个文本小部件与行的开头和结尾对齐?

Oto*_*ett 7 flutter

我在 flutter 中有一行包含 2 个文本小部件,我想将一个文本小部件添加到行的开头,并将另一个添加到行尾:

这是我的代码:

  Row(
                            children: <Widget>[
                              Text(
                                "eshiett1995",
                                textAlign: TextAlign.left,
                                style: TextStyle(fontWeight: FontWeight.bold),
                              ),
                              Padding(padding: EdgeInsets.only(right: 10.0),),
                              Text(
                                "4:33am",
                                textDirection: TextDirection.ltr,
                                textAlign: TextAlign.left,
                                style: TextStyle(fontWeight: FontWeight.bold),
                              )

                            ],
                          ),
Run Code Online (Sandbox Code Playgroud)

目前这是我的代码在视觉上的外观:

在此处输入图片说明

我希望eshiett1995停留在开始,而凌晨4:33的时间移动到最后

use*_*442 12

你试过 Spacer 类吗? https://docs.flutter.io/flutter/widgets/Spacer-class.html

在两个文本之间添加 Spacer 小部件。


Jes*_*win 12

您可以使用Spacer()小部件将另一个小部件推到行尾。

Row(children:[Text("Some Data"), Spacer(), Text("Some Data")]),
Run Code Online (Sandbox Code Playgroud)

这将为您提供所需的输出,而无需设置任何其他对齐方式


And*_*sky 7

您也可以Expanded在第二次使用右对齐Text

Row(
                        children: <Widget>[
                          Text(
                            "eshiett1995",
                            textAlign: TextAlign.left,
                            style: TextStyle(fontWeight: FontWeight.bold),
                          ),
                          Expanded(
                              child: Text(
                            "4:33am",
                            textDirection: TextDirection.ltr,
                            textAlign: TextAlign.right,
                            style: TextStyle(fontWeight: FontWeight.bold),
                          ))
                        ],
                      )
Run Code Online (Sandbox Code Playgroud)


che*_*ins 6

你只需要添加Row属性mainAxisAlignment: MainAxisAlignment.spaceBetween,

您可以删除Padding.

Row(
  mainAxisAlignment: MainAxisAlignment.spaceBetween,
  //mainAxisSize: MainAxisSize.max,
  children: <Widget>[
    Text(
      "eshiett1995",
      textAlign: TextAlign.left,
      style: TextStyle(fontWeight: FontWeight.bold),
    ),
    Text(
      "4:33am",
      textDirection: TextDirection.ltr,
      textAlign: TextAlign.left,
      style: TextStyle(fontWeight: FontWeight.bold),
    )
  ],
),
Run Code Online (Sandbox Code Playgroud)