Прослушайте изменения макета в Android - PullRequest
2 голосов
/ 17 января 2011

Как я могу получить уведомление о завершении макета? Есть ли что-то вроде onLayoutFinished(), которое я могу где-то реализовать или переопределить?

Из Просмотр Javadoc:

Макет представляет собой двухпроходный процесс: мера прохода и макета прохода. измерительный проход реализован в мера (int, int) и является сверху вниз Обход дерева просмотра. Каждый вид толкает спецификации размеров вниз дерево во время рекурсии. На конец прохода, каждый просмотр сохранил свои измерения. второй проход происходит в макете (int, int, int, int) и также сверху вниз. Во время этого прохода каждый родитель ответственность за позиционирование всех его дети, использующие размеры, вычисленные в мера пройдена.

То, что я хотел бы, это выполнить некоторую логику после того, как «второй проход» закончится. В частности, я хочу внести некоторые изменения в представление, а затем внести изменения в другое представление, которые зависят от рамки (положения и размера) первого представления.

1 Ответ

3 голосов
/ 17 января 2011

Вы можете просто переопределить onLayout () и делать все, что вам нужно сделать после вызова super.onLayout (). Вы также можете переопределить onSizeChanged (), которая будет вызываться, только когда проход макета изменяет координаты / размер представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...