Какое событие запускается после того, как все представления полностью прорисованы? - PullRequest
23 голосов
/ 16 октября 2010

Мне нужно захватить абсолютные позиции некоторых ImageViews для использования в качестве целей отбрасывания. Я не могу найти, в какое событие мне нужно поместить свой код, чтобы прочитать экран и получить позиции Left (), Top () .. Я не хочу следить за инфляцией каждого отдельного взгляда. Должно быть какое-то событие типа OnScreenFinsihed, но я не могу его найти. OnMeasure и onDraw, похоже, срабатывают в начале своей работы, мне нужно знать, когда они закончатся. ТИА.

1 Ответ

34 голосов
/ 16 октября 2010

Нет такого события. Вы можете просто опубликовать сообщение / Runnable в очереди событий пользовательского интерфейса в начале последовательности рисования, чтобы выполнить это сообщение / Runnable после завершения рисования (см., Например, View.post (Runnable).) Кроме того, getLeft / getTop возвращает правильное значение после измерения и макета, вам не нужно ждать окончания рисования, чтобы использовать их.

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