Как справиться с ориентацией в версии Android 2.3? - PullRequest
0 голосов
/ 14 октября 2011

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

WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);

    if(wm.getDefaultDisplay().getOrientation() == 1)
     {

        Log.v("Orientation111", "Condition true in if black");


     }
    else
    {

        Log.v("Orientation222", "Condition truein else black");


    }

Я запускаю приложение на уровне API версии 2.3 для Android: 9. Когда я меняю ориентацию, я могу выполнить «если» черный от потрита до пейзажа земли. Затем я меняю ориентацию с пейзажа земли на потрите, тогда я не получается, если черный. Это происходит с Android 2,3 версии. Как я могу решить эту проблему?

plzzz любое тело, помогите мне ...

1 Ответ

0 голосов
/ 14 октября 2011
Editing Answer based on feedback:

В Android все существующие элементы пользовательского интерфейса (такие как кнопка, textBox, checkBox и т. Д.) Разрушаются и перерисовываются при изменении ориентации. Это также означает, что состояние элементов пользовательского интерфейса будет потеряно при изменении ориентации (например, флажок checkBox может не проверяться). Для обработки таких случаев ваше приложение должно быть уведомлено о таких вещах (здесь изменение ориентации). Android предоставляет возможность прослушивать такие события с помощью метода onConfigurationChanged. Вам нужно будет переопределить этот метод в вашем классе активности, а также объявить о необходимости переопределить это в своем манифесте активности, добавив атрибут android:configChanges="orientation" в ваше объявление активности. Теперь onConfigurationChanged даст вам возможность сохранить / восстановить состояние вашего приложения. Вы также можете добавить свой код сообщений журнала в этот метод, чтобы увидеть текущий режим ориентации.

См. этот урок для более подробной информации.

...