Как следует из названия, измеренная ширина / высота используется во время фазы измерения и компоновки.
Позвольте мне привести пример,
Виджет просят измерить себя. Виджет говорит, что он хочет быть 200px на 200px.Это измеряется ширина / высота.
На этапе макета, т.е. в методе onLayout.Метод может использовать измеренную ширину / высоту своих дочерних элементов или назначить новую ширину / высоту, вызвав метод компоновки представления.
Допустим, метод onLayout вызывает childview.layout (0,0,150,150), теперь width /высота вида отличается от измеренной ширины / высоты.
Я бы посоветовал не использовать measureWidth / height вне метода onLayout.
для подведения итогов.
- onMeasure -> устанавливает Измеренная ширина / измеренная высота
- onLayout -> устанавливает ширину / высоту виджета.
дополнительно все
public void View.layout(int l, int t, int r, int b)
кажется местом, где происходит назначение позиции и размера.