android onMeasure MeasureSpec - rsajob/docs GitHub Wiki

Понимание onMeasure и MeasureSpec

В метод onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) передаётся спецификации ширины и высоты. Этот метод вызывается, когда ридительский компонент просит текущего - померейся, и передаёт ему доп. информацию, типа "попробуй уместиться в эту ширину".

В параметре widthMeasureSpec размер и режим измерения

val wSize = MeasureSpec.getSize(widthMeasureSpec)
val wMode = MeasureSpec.getMode(widthMeasureSpec)

mode может быть

  • AT_MOST - измерься, но будь не больше size (сделайся минимально возможным, но не больше size)
  • EXACTLY - ты будешь занимать точно size места, попробуй уместись, если можешь растянись
  • UNSPECIFIED - бери сколько надо, не смотри на size (обычно size = 0)

Ресурсы: