Ответ
Метод onMeasure() не возвращает значения явно (void), но его задача — установить размеры View через setMeasuredDimension(width, height). Если не вызвать этот метод, будет выброшено исключение IllegalStateException. Пример:
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
val width = resolveSize(desiredWidth, widthMeasureSpec)
val height = resolveSize(desiredHeight, heightMeasureSpec)
setMeasuredDimension(width, height)
}
Размеры определяются на основе MeasureSpec (режимы EXACTLY, AT_MOST, UNSPECIFIED) и логики View.