4
Container(
      child: Padding(
        padding: const EdgeInsets.symmetric(horizontal: 60),
        child: Text(
          //  subCategoryName,
          "This is a very Long Text takes more space",
          textAlign: TextAlign.center,
          maxLines: 2,
          overflow: TextOverflow.fade,
          style: Theme.of(context)
              .textTheme
              .headline3
              .copyWith(color: Colors.white, fontSize: 32),
        ),
      ),
    ),

看这张图

如果文本变得更长,我需要此行最多为两行并像 FittedBox(使用 BoxFit.fitWidth)一样缩小大小

当我使用 FittedBox 时,它看起来像这样。但是,如果需要,我需要将其增加到 2 行。任何解决方案都值得赞赏

4

2 回答 2

2

得到它的工作由Sam Chan的答复。我使用了AutoSizeText

于 2021-01-21T15:29:12.290 回答
1

如果您不想添加包,这里有解决方法。您可以检查文本的长度,并在此基础上处理它。

// declare a widget
    Widget titleTextWidget = Text(
      title,
      style: TextStyle(
        fontWeight: FontWeight.w600,
      ),
      maxLines: 2,
      textAlign: TextAlign.center,
    );
// use condition to render it.
    title.length > 45
        ? FittedBox(
            child: titleTextWidget,
          )
        : titleTextWidget,
于 2021-05-22T16:11:26.890 回答