В документации Android говорится, что существует два размера вида: измеренные размеры и размеры чертежа . Измеряемый размер - это размер, вычисленный на этапе измерения ( метод onMeasure ), а размеры чертежа - это фактический размер на экране. В частности, в документации сказано, что:
Эти значения могут, но не обязательно, отличаться от измеренных ширины и высоты.
Итак, мой вопрос: что может сделать размер чертежа отличным от измеренного? Если метод onMeasure (int, int) соблюдает требования к макету (заданные параметрами widthMeasureSpec и heightMeasureSpec , как SDK может решить , что представление должно иметь другой размер рисунка?)
Кроме того, как / где в исходном коде Android измеренная ширина / высота используется для вычисления ширины / высоты чертежа? Я попытался заглянуть в исходный код View , но не могу понять, как измеренная ширина / высота используется для вычисления окончательной ширины / высоты. Возможно, это как-то связано с обивкой, но я не уверен.