Я получаю фрагмент текста из API.Я хочу выделить ему определенное количество места (скажем, максимальный контейнер с шириной: 300,0 и высотой: 100,0).Иногда фрагмент текста помещается в этот контейнер с размером шрифта 30.0.В других случаях он не будет соответствовать, если я не установлю размер текста на 24.0.
Есть ли способ динамического изменения размера текста на основе его родительского контейнера?
Я построилКонтейнер с ConstrainedBox, который позволяет мне определить максимальный размер текстового пространства.Я также обернул свой текст с помощью LayoutBuilder.Я надеялся, что смогу проверить высоту пространства текста, и на основании этого определить, как изменить размер текста.Например:
Container(
child: ConstrainedBox(
constraints: BoxConstraints(
minWidth: 300.0,
maxWidth: 300.0,
minHeight: 30.0,
maxHeight: 100.0,
),
child: LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
if (/* height is larger than 100.0? height is over the constraints? */) { return textWithSize24(); }
return textWithSize30();
}),
),
),
Как определить «высоту, которую поднял бы текст, если бы он был размером 30,0»?Может быть, я подхожу к этому неправильным путем, и я должен использовать maxLines
, чтобы определить это вместо этого?Но откуда мы знаем, что мы достигли более чем maxLines
?
Другой способ сделать это - использовать количество символов в моей строке, чтобы определить, когда менять размеры шрифта.Это похоже на руководство.