Я думаю, что это осуществимо, поскольку поведение поворота экрана может доходить до уровня приложения.
97
Я думаю, что это осуществимо, поскольку поведение поворота экрана может доходить до уровня приложения.
Ответы:
Да, это возможно!
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
ActivityInfo
http://developer.android.com/reference/android/content/pm/ActivityInfo.html
Ссылка:
http://android-er.blogspot.in/2011/08/set-screen-orientation-programmatically.html
источник
Да, вы можете программно установить ориентацию экрана в любое время, используя:
для ландшафтного и портретного режима соответственно. Метод setRequestedOrientation () доступен для класса Activity , поэтому его можно использовать внутри вашей Activity.
И вот как вы можете получить текущую ориентацию экрана и адекватно ее установить в зависимости от его текущего состояния:
Взято отсюда: http://techblogon.com/android-screen-orientation-change-rotation-example/
РЕДАКТИРОВАТЬ
Также вы можете получить ориентацию экрана, используя
Configuration
:источник
getRequestedOrientation()
для получения текущей ориентации экрана: stackoverflow.com/a/21909327/1037294getRequestedOrientation()
выдаетUNSPECIFIED
при запуске приложения. Таким образом, с указанным выше слушателем он не изменит экран, и если вы добавитеUNSPECIFIED
кswitch
нему, он должен сначала поместить экран в одну из портретных / альбомных позиций.По возможности не используйте SCREEN_ORIENTATION_LANDSCAPE или SCREEN_ORIENTATION_PORTRAIT. Вместо этого используйте:
Они позволяют пользователю ориентировать устройство либо в альбомной, либо в портретной ориентации соответственно. Если вам когда-либо приходилось играть в игру с зарядным кабелем, вбитым в живот, то вы точно знаете, почему для пользователя важно наличие обеих ориентаций.
Примечание. Для телефонов, по крайней мере для нескольких из тех, что я проверил, разрешен только портретный режим «правой стороной вверх», однако SENSOR_PORTRAIT работает правильно на планшетах.
Примечание: эта функция была введена в API уровня 9, поэтому, если вы должны поддерживать 8 или ниже (маловероятно на данном этапе), используйте вместо этого:
источник
Используйте это, чтобы установить ориентацию экрана:
или
и не забудьте добавить это в свой манифест:
источник
"orientation|screenSize"
, смотрите здесь: developer.android.com/guide/topics/resources/…Рабочий код:
вызовите этот метод при нажатии кнопки
источник