【问题标题】:Ellipsis multiline Text省略号多行文本
【发布时间】:2019-06-09 10:24:21
【问题描述】:

我有一个 GridView,每个项目都应该有一个标题、一个描述和一个按钮。

我的 GridItem 是这样的

Card(
    color: Colors.white,
    child: Padding(
      padding: const EdgeInsets.all(20.0),
      child: Column(
        mainAxisSize: MainAxisSize.max,
        children: <Widget>[
          Text(data[position]),
          Expanded(
            child: Text(desctiption, overflow: TextOverflow.ellipsis),
          ),
          MaterialButton(
            child: Text("open"),
          )
        ],
      ),
    ));

我的描述文字使用了省略号,但它只显示了一行文字。我希望它使用它垂直的所有空间,然后在最后一行的末尾使用省略号。 现在看起来像这样

【问题讨论】:

  • Text Widget 中有一个名为maxLines 的属性,你可以使用它。
  • 我试过它对我没有影响。如果 Widget 必须显示文本的空间会自动检测到 maxLines 也会更好。
  • 当我使用 maxLines 时,ellipsis 消失了,文本仍然在一行中。
  • 也许你应该考虑使用这个github.com/letsar/flutter_staggered_grid_view

标签: flutter flutter-layout


【解决方案1】:

我从你的帖子和其他你想要包装文本的内容中得到什么。为此,请从 Text 小部件中删除溢出属性。对于最大数量的行,您可以添加 maxLines 属性。

有点像这样:

Text('你的长文本......', maxLines: 3, styles: TextStyle(.....));

【讨论】:

    【解决方案2】:

    同时指定 Text 小部件的 maxLinesoverflow 属性,如下所示:

    Text("Very long text here", maxLines: 3, overflow: TextOverflow.ellipsis)
    

    【讨论】:

      猜你喜欢
      • 2012-06-09
      • 2021-05-01
      • 2016-12-22
      • 2013-04-01
      • 2012-03-20
      • 2014-10-16
      • 1970-01-01
      • 2019-04-08
      • 1970-01-01
      相关资源
      最近更新 更多