onSizeChanged()
называется, как только пользователь коснется какой-либо части экрана?когда onSizeChanged() называется?
Я смущен о порядке, в котором вызывается onDraw()
, onMeasure()
и onSizeChanged()
.
onSizeChanged()
называется, как только пользователь коснется какой-либо части экрана?когда onSizeChanged() называется?
Я смущен о порядке, в котором вызывается onDraw()
, onMeasure()
и onSizeChanged()
.
Android не знает реальный размер при запуске, его необходимо рассчитать. Как только это будет сделано, onSizeChanged()
уведомит вас с реальным размером.
onSizeChanged()
вызывается как только размер рассчитывается. События не должны поступать от пользователей все время. В этом примере, когда android изменит размер, вызывается onSizeChanged()
. То же самое с onDraw()
, когда должно быть нарисовано представление onDraw()
.
onMeasure()
вызывается автоматически сразу после вызова measure()
Спасибо за ваш ответ. Не могли бы вы привести пример экземпляра при изменении размера? – iman453
Я обновил решение. Основной вызов onSizeChanged() выполняется после построения вашего представления, но до рисования. В это время система будет вычислять размер вашего представления и уведомлять вас, вызывая 'onSizeChanged()' –
Это намного лучше, чем альтернатива ViewTreeObserver. – Dmacpro