2016-12-29 7 views
1

私は基本的に、これは私がdocumentation for CustomPainter's paint methodは私MyCustomPainterのpaintメソッド内で、私は次のことを持っているので、「TextPainterを使用し、キャンバスの上にテキストをペイントするには」、と言う間違っているところので、私を修正してくださいどのように機能するかを誤解される可能性があります。どのようにTextPainterを使用してテキストを描画しますか?

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)

+1

上記のコードをコピーする前に気をつけなければならないことの1つは、毎回TextPainterを再作成するのは比較的高価です(具体的には、 'layout'の呼び出しは高価です)。可能であれば、TextPainterを保持して再利用し、そのメソッドへの引数が変更されたときにのみ 'layout'を呼び出したいとします。 –

答えて

4

私はこの質問を入力していたときに答えを見つけましたが、私はしばらくそれに取り組んできました。私は私の色の選択が明示されていなかったので、どうやらそれは目に見えないまたは白(背景)色とテキストを描画されたいずれかの

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

何がそれがTextSpanラインを変更した解決しました。

+0

デフォルトのテキストの色は実際には白です。 –

関連する問題