onDraw()
最初に、メソッドをオーバーライドして自分自身を描画するカスタム ビューを作成しました。大量のビューを作成する必要があったため、これは非現実的であることが判明しました。そのため、メソッドを使用してそれぞれの子を描画するカスタム ViewGroup を作成しましたonLayout()
。
子ビューがメソッドを実装する必要があることをAndroidのドキュメントで読みましたlayout()
。しかし、私が作成した子ビューは、onDraw メソッドを使用して自分自身を描画します。これをどのように処理すればよいですか?メソッドを削除する必要がありonDraw()
ますか?そして、メソッドがどのように機能するか、およびメソッドをメソッドにlayout()
「変換」する方法の例を誰か教えてもらえますか?onDraw()
layout()
私の現在のonDraw()
方法は次のようになります。
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
//Draw Border.
canvas.drawRect(mCellBounds, mBorderPaint);
//Draw Background.
canvas.drawRect(mBackgroundBounds, mBackGroundPaint);
//Draw Value if not 0.
if(Value != 0)
canvas.drawText(Integer.toString(Value), ValueX, ValueY, mNumberPaint);
//Draw Notes if Value == 0.
else
{
for(int i = 0 ; i < 9 ; i++)
if(NoteList[i])
canvas.drawText(Integer.toString(i), NoteX + ((i%3) * NoteMeasureX), NoteY + ((i/3) * NoteMeasureY), mNotePaint);
}
}