2014-11-05 7 views
0

Я создаю пользовательскую группу просмотра. При выполнении кода функция onMeasure настраиваемой группы просмотра называется множественным временем. И режим измерения также изменился во время вызова onMeasure. Например, (мое понимание) Если «match_parent» установлено в xml, режим измерения равен AT_MOST. В это время почему оба AT_MOST и ТОЧНО вызваны. Пожалуйста, помогите мне правильно разобраться.Почему onMeasure вызывается много раз в другом режиме?

ответ

0

Это зависит от родителя. Некоторые ViewGroups будут измерять своих детей дважды, потому что они не могут определить, как выложить всех своих детей с помощью всего лишь одного прохода.

+0

Спасибо karakuri. Но почему режим измерения меняется каждый раз во время процесса измерения (onMeasure). –

+0

Не требуется, чтобы режим MeasureSpec был одинаковым каждый раз. ViewGroup может измерять один раз, чтобы увидеть, насколько большой ребенок хочет быть, а затем снова измерять с другим режимом после определения того, сколько места он может дать ребенку. – Karakuri

+0

Вы могли бы привести практический пример для «меры дважды»? – Jacky

Смежные вопросы