Как реагировать на изменение ориентации в диалоге - PullRequest
2 голосов
/ 07 марта 2011

У меня есть собственная реализация Dialog

public class MyDialog extends Dialog

Можно ли реагировать на изменение ориентации из класса MyDialog и изменять макет, используемый диалоговым окном, если Activity, который его создает, имеет следующее в манифесте:

android:configChanges="keyboard|keyboardHidden|orientation"

Спасибо

Ответы [ 2 ]

2 голосов
/ 31 мая 2011

Флаг android:configChanges="orientation" просто указывает на то, что класс Activity будет самостоятельно выполнять регулировки ориентации и что действие не должно быть уничтожено / воссоздано (onCreate больше не будет вызываться) при изменении ориентации.Вы можете найти хорошее объяснение о том, как справиться с этим @ Как заставить приложение игнорировать изменение ориентации экрана?

Также на мой взгляд мыследует избегать установки этого флага , так как это не считается наилучшей практикой.Более подходящий способ обработки воссоздания Activity при изменении ориентации подробно объясняется @ http://blog.doityourselfandroid.com/2010/11/14/handling-progress-dialogs-and-screen-orientation-changes/ подробно.

0 голосов
/ 08 марта 2011

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

Возможно, вам придется закрыть диалоговое окно и снова отобразить его в onConfigurationChanged ().

...