在我的布局中,我连续有两个小部件,一个文本和一个图标。
如下图,假设*代表图标,用“-”表示行:
----------------------------
Text *
----------------------------
如何让我的文本在整行居中,而图标在右端?
最佳答案
您需要注意的主要一点是,如果您不想使用 Stack
,您应该在左右提供相同的宽度消耗小部件。
我会使用 Expanded
和 Padding
Row(
children: <Widget>[
Expanded(
child: Padding(
padding: const EdgeInsets.only(left: 32.0),
child: Text(
"Text",
textAlign: TextAlign.center,
),
),
),
Icon(Icons.add, size: 32.0,)
],
)
或使用 Row
的 mainAxisAlignment
和一个 SizedBox
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
const SizedBox(width: 32.0),
Text("Text"),
Icon(Icons.add, size: 32.0)
],
)
或在左侧使用 Expanded
和 SizedBox
而不是填充:)。左侧的填充或额外容器是为了让 textAlign 真正将行中的文本居中,同时考虑到图标占用的空间。
https://stackoverflow.com/questions/51587003/
相关文章:
java - 使用 Platform Channels 在 Flutter 中调用原生库
firebase - 如何使用 Firebase 身份验证在 Flutter 中注销用户
flutter - Flutter中有类似AlarmManager的东西吗?
flutter - 在 flutter 中使用 TabBarView 获取 'Horizontal
android - Flutter Multiline 文本
android - Flutter 未检测到 Android SDK
dart - 如何从 Flutter 检查设备操作系统版本?