一尘不染

如何使用TextPainter绘制文本?

flutter

CustomPainter绘制方法文档说:“要在上绘制文本Canvas,请使用TextPainter”。因此,在我MyCustomPainter的paint方法中,我具有以下内容:

TextSpan span = new TextSpan(text: 'Yrfc');
TextPainter tp = new TextPainter(text: span, textAlign: TextAlign.left);
tp.layout();
tp.paint(canvas, new Offset(5.0, 5.0));

我尝试了各种偏移量,(Offset.zero, Offset.infinite, new Offset(10.0, 10.0)但始终看不到屏幕上绘制的文字。


阅读 1258

收藏
2020-08-13

共1个答案

一尘不染

我在输入此问题时找到了答案,但是我已经花了一段时间了,因此发布以防万一。

解决问题的方法是将TextSpan行更改为:

TextSpan span = new TextSpan(style: new TextStyle(color: Colors.grey[600]), text: 'Yrfc');

显然是因为我没有明确选择颜色,所以要么是无形地绘制文本,要么是白色(背景)颜色。

2020-08-13