同时实现TextOverflow.ellipsis和FittedBox

时间:2019-02-20 07:03:12

标签: flutter

要求: 如果文本较长,直到指定的字体大小,则应减小文本字体的大小,然后将其改为椭圆形(后跟...并应隐藏多余的文本)。

问题: 这两个功能可以单独工作,如下面的代码所示。

  FittedBox(
    child: Text("long text long text long text long text long text long text long text long text long text long text", 
      style: TextStyle(fontSize: 12.0)),
  )

  Text("long text long text long text long text long text long text long text long text long text long text", 
    style: TextStyle(fontSize: 12.0),
    overflow: TextOverflow.ellipsis,
  )

但是如果我将两者结合起来,它将忽略TextOverflow.ellipsis

  FittedBox(
    child: Text("long text long text long text long text long text long text long text long text long text long text", 
      style: TextStyle(fontSize: 12.0),
      overflow: TextOverflow.ellipsis),
  )

预先感谢

1 个答案:

答案 0 :(得分:0)

找到了! 可以使用AutoSizeText解决此问题,这将同时减小字体大小和省略号。

示例:

AutoSizeText(
  "A really long String",
  style: TextStyle(fontSize: 15.0),
  minFontSize: 8.0,
  maxLines: 1,
  overflow: TextOverflow.ellipsis,
)