addView()是否为所有孩子调用onMeasure()?

时间:2013-04-04 13:41:34

标签: android view viewgroup

是否将一个子项添加到ViewGroup(通过ViewGroup.addView())自动为所有子项调用onMeasure()?

1 个答案:

答案 0 :(得分:2)

ViewGroup首先测量所有孩子,然后测量它的宽度和高度。如果ViewGroup的宽度或高度为wrap_content,则肯定会为所有孩子调用onMeasure()。关于match_parent不能说。有一点可以肯定,addView()会调用requestLayout()来重新计算布局儿童对所有孩子的位置调用layout(l, t, r, b)

要确定是否可以调用,您可以创建自定义View并记录对onMeasure()的每次通话,并将其添加到ViewGroup。可能是不同的ViewGroup实施将采取不同的行动。