3

( ViewGroup.addView() を介して) ViewGroup に子を追加すると、すべての子に対して onMeasure() が自動的に呼び出されますか?

4

1 に答える 1

2

ViewGroup最初にすべての子を測定して、幅と高さを測定する必要があります。ViewGroupの幅または高さが wrap_content の場合、確実にすべての子が呼び出されonMeasure()ます。match_parent については言えません。確かなことの 1 つは、レイアウトの子の位置を再計算する呼び出しaddView()がすべての子に対して呼び出されることです。requestLayout()layout(l, t, r, b)

それが呼び出すかどうかを確実に知るには、カスタムを作成してViewすべての呼び出しをログに記録onMeasure()し、ViewGroup. 異なるViewGroup実装は異なる動作をする可能性があります。

于 2013-04-04T13:53:18.293 に答える