blitz-time アプリ開発ブログ

Androidアプリ開発などのTips集

【Flutter開発】TextPainter.textDirection must be set to a non-null value before using the TextPainter.

Canvasにテキストを描画したいのですが、適当に書いたらエラーになりました。。。

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

とすると、

TextPainter.textDirection must be set to a non-null value before using the TextPainter.
'package:flutter/src/painting/text_painter.dart':
Failed assertion: line 554 pos 12: 'textDirection != null'

とでる。

TextPainterに「textDirection: TextDirection.ltr」の指定が必要だそうです。

TextPainter tp = new TextPainter(text: span, textAlign: TextAlign.left, textDirection: TextDirection.ltr);

デフォルトで指定があってもよさそうですねどね。。。。
何か事前のお作法を忘れているかもしれません。