import 'package:flutter/cupertino.dart'; class TextSizeConvert { ///计算文本Size static Size getTextSize(String text, TextStyle style, {int maxLines = 2 ^ 31, double maxWidth = double.infinity}) { if (text.isEmpty) { return Size.zero; } final TextPainter textPainter = TextPainter( textDirection: TextDirection.ltr, text: TextSpan(text: text, style: style), maxLines: maxLines) ..layout(maxWidth: maxWidth); return textPainter.size; } static double paintWidthWithTextStyle(TextStyle style, String text) { final TextPainter textPainter = TextPainter( text: TextSpan(text: text, style: style), maxLines: 1, textDirection: TextDirection.ltr) ..layout(minWidth: 0, maxWidth: double.infinity); return textPainter.size.width; } }