View.resolveSizeAndState()的第三个参数的效用是什么?

时间:2012-11-30 18:22:51

标签: android

我去了官方文档页面android google official doc,但似乎他们犯了一个严重的拼写错误:我们没有关于该方法的第三个参数的信息。所以我只是想知道是否有人已经知道如何定义第三个int参数。

1 个答案:

答案 0 :(得分:16)

childMeasuredStateView.getMeasuredState()返回的值。布局将使用View.combineMeasuredStates()聚合其子测量状态。这是一个例子:

int childState = 0;

for (int i = 0; i < count; i++) {
    final View child = getChildAt(i);
    if (child.getVisibility() != GONE) {
        measureTheChild(child);
        childState = combineMeasuredStates(childState, child.getMeasuredState());
    }
}

在大多数情况下,您可以简单地传递0。子状态目前仅用于判断视图是否以比其想要的更小的尺寸进行测量。如果需要,此信息又用于调整对话框的大小。在您的特定情况下,您不必担心它。