TextPaint
はPaint
のサブクラスである。しかし、あなたがこれらの名前から推測することとは反対に、キャンバス上にテキストを描画する重い作業はPaint
によって行われます。したがって、この
TextPaint textPaint = new TextPaint();
textPaint.setTextSize(50);
canvas.drawText("some text", 10, 100, textPaint);
この
Paint paint = new Paint();
paint.setTextSize(50);
canvas.drawText("some text", 10, 100, paint);
は、実際には同じことを行います。 TextPaint
はちょうどPaint
の周りの軽いラッパーであり、Androidにはテキストを描画して測定するときに使用するextra dataがあります。 TextLine
class source code(このクラスは1行のテキストを描画します)を読むと、これを実際に見ることができます。これは、にStaticLayout
のようなものを作成するときに、Paint
オブジェクトではなく、渡す必要があるのは明らかです。
TextPaintフィールド
ドキュメントは、「余分なデータは、」ここにあるものにはかなりまばらで少しより十分な説明です。 (Disclamer:TextPaint
でこれらの値を変更することで、私は実際にテキストが私のテストで描かれた方法への変更に影響を与えることができなかったので、塩の粒で、このセクションを取る。。)
注意TextPaint
source code
Paint
source code
- メモを残したり、任意のより多くの情報を持っている場合は、この答えを更新してください。