是否将一个子项添加到ViewGroup(通过ViewGroup.addView())自动为所有子项调用onMeasure()?
答案 0 :(得分:2)
ViewGroup
首先测量所有孩子,然后测量它的宽度和高度。如果ViewGroup
的宽度或高度为wrap_content,则肯定会为所有孩子调用onMeasure()
。关于match_parent不能说。有一点可以肯定,addView()
会调用requestLayout()
来重新计算布局儿童对所有孩子的位置调用layout(l, t, r, b)
。
要确定是否可以调用,您可以创建自定义View
并记录对onMeasure()
的每次通话,并将其添加到ViewGroup
。可能是不同的ViewGroup
实施将采取不同的行动。