レイアウトの都合で実際にウィジェットを配置するまえにTextウィジェットのサイズが知りたいことがあります。
その場合はこのようにTextPainterを使ってサイズを取得することができます。
Size getTextSize(String text) {
final style = const TextStyle(
fontSize: 12,
letterSpacing: 0.67,
fontWeight: FontWeight.w300,
);
final TextPainter textPainter = TextPainter(
text: TextSpan(text: text, style: style),
textAlign: TextAlign.start,
// maxLines: 1,
textDirection: TextDirection.ltr)
..layout(minWidth: 0, maxWidth: 300);
return textPainter.size;
}
参考
https://stackoverflow.com/questions/52659759/how-can-i-get-the-size-of-the-text-widget-in-flutter