依赖
auto_size_text: ^3.0.0 //自动调整文本大小
例子
class AutoSizeRichTextExample extends StatelessWidget { @override Widget build(BuildContext context) { return Center( child: Container( width: double.infinity, child: AutoSizeText.rich( TextSpan( children: _getRichTextSpans(), ), style: TextStyle(fontSize: 50.0), // 初始字体大小 maxLines: 1, minFontSize: 10.0, overflow: TextOverflow.ellipsis, ), ), ); } List<TextSpan> _getRichTextSpans() { final List<Map<String, dynamic>> dataList = [ {'text': 'This ', 'color': Colors.red}, {'text': 'is ', 'color': Colors.blue}, {'text': 'a ', 'color': Colors.green}, {'text': 'slightly ', 'color': Colors.orange}, {'text': 'longer ', 'color': Colors.purple}, {'text': 'item', 'color': Colors.teal} ]; return dataList.map((item) { return TextSpan( text: item['text'], style: TextStyle(color: item['color']), ); }).toList(); } }