Android изменение ориентации глюк - PullRequest
1 голос
/ 12 октября 2011

Я столкнулся со странной проблемой при быстром изменении ориентации экрана или когда что-то тяжелое идет на задний план.Когда я звоню setContentView(R.layout.main); на onConfigurationChanged (я сам управляю изменениями ориентации), после поворота экрана андроид на короткое время устанавливает раскладку для противоположной ориентации.Например - при изменении ориентации макет меняется следующим образом Портрет> Пейзаж , но иногда, в моем случае, он выглядит следующим образом Портрет> Портрет (когда телефон уже находится в горизонтальном положении)> Пейзаж.

Иногда вы даже не замечаете этого, а иногда экран сжимается примерно до 1/3 в секунду.Ну, это не так уж и сложно, но в моей деятельности у меня есть виджет Coverflow (на основе галереи), и чтобы он выглядел хорошо на большинстве экранов, я устанавливаю размеры изображений на основе размера родительского контейнера (в onSizeChanged виджета)и когда изменения ориентации идут, как описано выше, виджет coverflow получает неправильный размер.

Единственный способ, который я вижу сейчас, это либо вызвать onCreate при изменении ориентации (что я не могу сделать, потому чтотяжелого пользовательского интерфейса, заполненного онлайн), или установите задержку при инициализации пользовательского интерфейса (что некрасиво).

Так что мне интересно, есть ли обратный вызов setContentView() или что-то еще, чтобы я мог знать, когда макет на самом делеготов, так что я могу инициализировать пользовательский интерфейс.

Или, может быть, есть другой способ?

PS: По какой-то причине этот сбой в основном происходит на Desire HD.

1 Ответ

0 голосов
/ 12 октября 2011

AndroidManifest.xml

android:configChanges="orientation"

Это то, что вы ожидаете?

...