Какой слушатель запускается, когда размеры отображения карты изменяются от их начального (нулевого) состояния? - PullRequest
0 голосов
/ 01 июля 2011

Я реализую ленивое рисование наложений на основе текущего прямоугольника просмотра пользователя. Прямоугольник просмотра инициализируется на основе размеров карты следующим образом:

Rect viewRectangle = new Rect(0, 0, mapView.getWidth(), mapView.getHeight());

Благодаря отладке ширина и высота карты остаются неизменными (за исключением случаев, когда происходит изменение ориентации), за исключением первоначального создания карты, где размеры (ширина и высота) равны нулю.

К сожалению, несмотря на мои попытки удержать инициализацию до тех пор, пока не будут созданы все другие компоненты пользовательского интерфейса, я не могу найти подходящее место для создания прямоугольника просмотра. Я не хочу помещать инициализацию в отрисовку моих оверлеев, потому что теоретически неэффективно (с накладными расходами на выделение ресурсов и потенциально запускается сборка мусора) создавать эти временные объекты для каждого вызова отложенного рисования (запускаемого масштабированием, панорамированием и RESTful). данные обновляются).

Есть ли прослушиватель, который срабатывает, когда размеры карты отображаются из нулевого состояния? Я пробовал множество различных поисков, чтобы найти ответ и искал документацию для Android, но безрезультатно.

Любая информация приветствуется. Заранее спасибо.

1 Ответ

0 голосов
/ 04 июля 2011

Я закончил тем, что делал это в ondraw для оверлея.

Я также проверил различные методы, но так и не нашел хорошего решения.

Лучше всего добавить логическую проверку, чтобы выполнить толькокод один раз.Отслеживайте изменения ориентации ...

...