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