我正在尝试使一些文本对齐并适合单行,最后一部分保留为原始形式。类似于以下内容:
// Original
A really long name which would wrap / Yesterday
// Output
A really long name... / Yesterday
下面的代码适用于上面的示例,但是:
// Original
Short Name / Yesterday
// Required Output (all left aligned)
Short Name / Yesterday
// Actual Output
Short Name / Yesterday
有没有办法做到这一点?下面的代码正确缩短了左侧组件,但对齐方式已关闭。
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
ListTile(
leading: CircleAvatar(
backgroundColor: Colors.blue,
child: Text('AB'),
),
title: Text('Some text',
overflow: TextOverflow.ellipsis, maxLines: 1),
subtitle: Row(children: <Widget>[
Container(
child: Text('Person Name,
overflow: TextOverflow.ellipsis, maxLines: 1)),
Expanded(
flex: 1,
child:
Text(' / Yesterday'))
]),
),
]);
答案 0 :(得分:0)
只需添加mainAxisAlignment属性并将其设置为mainAxisAlignment.spaceBetween。这将间隔您的容器和文本。只需从展开的窗口小部件中删除flex属性。它已经默认为1。
答案 1 :(得分:0)
我遇到了同样的问题,最后我找到了解决方案。 将您的“一个非常长的名称可以包装”文本放入 Flexible() 而不是 Expanded() 中。 这将使您的文本仅在需要时获得可用空间。所以当你的文字内容不够长时,不会占用所有空格。