import 'dart:convert'; import 'dart:ui'; import 'dart:ui' as ui; extension CXString on String { double width({double fontSize = 30, Color color = const Color(0xFF000000)}) { final builder = ui.ParagraphBuilder( ui.ParagraphStyle( textAlign: TextAlign.left, textDirection: TextDirection.ltr, fontSize: fontSize, ), ) ..pushStyle(ui.TextStyle( color: color, // opaque black textBaseline: ui.TextBaseline.alphabetic, fontSize: fontSize, )) ..addText(this); final paragraph = builder.build(); paragraph.layout(const ui.ParagraphConstraints(width: double.infinity)); return paragraph.maxIntrinsicWidth; } }