ビューを拡張するカスタムビューをアンドロイドで作成しました。onDraw() メソッドをオーバーライドし、そこでキャンバスにペイントします - 問題ありません。
onMeasure() メソッドもオーバーライドし、目的の寸法で setMeasuredDimension(width, height) を呼び出す必要があることを理解しています。
コードにブレークポイントを配置すると、onMeasure() が onDraw() の前に起動することに気付きました。
今私の問題は、onDraw の実行が完了するまで、ビューの希望の高さがわからないことです。私の高さはデフォルト値の 100 から始まり、onDraw の最後に設定されますが、これより前に onMeasure が既に実行されているため、ビューの高さは 100 ピクセルしかありません。
ビューの高さを動的に決定できるように、onDraw() の後に再測定されるようにビューを設計するにはどうすればよいですか?