5

ビューを拡張するカスタムビューをアンドロイドで作成しました。onDraw() メソッドをオーバーライドし、そこでキャンバスにペイントします - 問題ありません。

onMeasure() メソッドもオーバーライドし、目的の寸法で setMeasuredDimension(width, height) を呼び出す必要があることを理解しています。

コードにブレークポイントを配置すると、onMeasure() が onDraw() の前に起動することに気付きました。

今私の問題は、onDraw の実行が完了するまで、ビューの希望の高さがわからないことです。私の高さはデフォルト値の 100 から始まり、onDraw の最後に設定されますが、これより前に onMeasure が既に実行されているため、ビューの高さは 100 ピクセルしかありません。

ビューの高さを動的に決定できるように、onDraw() の後に再測定されるようにビューを設計するにはどうすればよいですか?

4

0 に答える 0