1234567891011121314151617181920212223242526 |
- 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;
- }
- }
|