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