Я пошел на официальную страницу документа официальный документ android google, но, похоже, они сделали серьезную опечатку: у нас нет информации о третий аргумент метода. Поэтому мне просто интересно, знает ли кто-нибудь, как определить этот третий аргумент int.
Какова полезность третьего аргумента View.resolveSizeAndState()?
Ответ 1
childMeasuredState
- это значение, возвращаемое View.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 вместо этого. В настоящее время дочернее состояние используется только для того, чтобы определить, был ли измерен вид с меньшим размером, чем он хотел бы иметь. Эта информация, в свою очередь, используется для изменения диалогов при необходимости. В вашем конкретном случае вы не должны беспокоиться об этом.