【问题标题】:Flutter wrap to end of next line颤振换行到下一行的末尾
【发布时间】:2021-11-19 13:44:43
【问题描述】:

我有一个包含两个(文本)项目的小部件,其中一个具有可变长度。如果空间用完,我希望第二个项目换行到下一行的末尾。

Flutter 有一个名为 Wrap 的小部件,它允许在空间用完时包装内容,但是我无法使用 WrapExpandedRowSpacer 小部件。我得到的最接近的是第二个元素环绕到第二行的开头,但我希望它到第二行的末尾。

我对 Flutter 还很陌生,但我已经找到了在 CSS 中执行此操作的方法,方法是将可变宽度元素放置在容器中,并将 flex: 1 0 auto 应用于容器,并将 flex-wrap: wrapflex-justify: flex-end 应用于包含这两个元素的 flexbox。

我尝试将第一个元素放在 Expanded 中,但显然不允许将 Expanded 直接放在 Wrap 中,这样会出现错误并且没有结果。

【问题讨论】:

  • 你希望两个元素在同一行,只是调整它们的大小

标签: flutter flutter-layout


【解决方案1】:

像这样把这两个句子放到一个列表中:

List<TextSpan> reasonList = [TextSpan(text: 'sentence1'), TextSpan(text: 'sentence2') ];

然后:

              Container(
                    child: RichText(
                      text: TextSpan(
                          children: reasonList,
                          style: TextStyle(
                              color: Colors.black, fontSize: 16)),
                    ),
                  );

这不仅包含而且让您可以更好地控制每个句子,例如手势检测和颜色变化。

【讨论】:

  • 那么我将如何使用它来将元素 2 向右对齐,并在元素 1 增长时让它换行到下一行的末尾?
猜你喜欢
  • 2015-07-14
  • 2017-06-18
  • 2013-05-12
  • 2017-12-07
  • 2020-06-23
  • 1970-01-01
  • 2012-01-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多