颤振:左对齐展开的小部件

时间:2020-09-06 12:15:59

标签: flutter flutter-layout

我正在尝试使一些文本对齐并适合单行,最后一部分保留为原始形式。类似于以下内容:

// 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'))
          ]),
        ),
      ]);

2 个答案:

答案 0 :(得分:0)

只需添加mainAxisAlignment属性并将其设置为mainAxisAlignment.spaceBetween。这将间隔您的容器和文本。只需从展开的窗口小部件中删除flex属性。它已经默认为1。

答案 1 :(得分:0)

我遇到了同样的问题,最后我找到了解决方案。 将您的“一个非常长的名称可以包装”文本放入 Flexible() 而不是 Expanded() 中。 这将使您的文本仅在需要时获得可用空间。所以当你的文字内容不够长时,不会占用所有空格。