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

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

1 ответ

Решение

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

Другие вопросы по тегам