CustomPainter绘制方法的文档说:“要在上绘制文本Canvas,请使用TextPainter”。因此,在我MyCustomPainter的paint方法中,我具有以下内容:
Canvas
TextPainter
MyCustomPainter
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)但始终看不到屏幕上绘制的文字。
(Offset.zero, Offset.infinite, new Offset(10.0, 10.0)
我在输入此问题时找到了答案,但是我已经花了一段时间了,因此发布以防万一。
解决问题的方法是将TextSpan行更改为:
TextSpan span = new TextSpan(style: new TextStyle(color: Colors.grey[600]), text: 'Yrfc');
显然是因为我没有明确选择颜色,所以要么是无形地绘制文本,要么是白色(背景)颜色。