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 时,它看起来 like this。但如果需要,我需要将它最多使用 2 行.. 任何解决方案表示赞赏
答案 0 :(得分: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,
答案 1 :(得分:0)
通过 Sam Chan 的回复,它可以工作了。 我使用了 AutoSizeText 包