我在 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)
这将为您提供所需的输出,而无需设置任何其他对齐方式
您也可以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)
你只需要添加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)
| 归档时间: |
|
| 查看次数: |
10523 次 |
| 最近记录: |