Свойство манифеста screenOrientation vs setRequestedOrientation

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

<activity android:name='.MainActivity' screenOrientation='portrait'/>

вместо того, чтобы делать это во время onCreate части жизненного цикла, как эта

`setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);`

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

Я прав ? Если нет, может ли кто-нибудь объяснить мне, в чем именно разница?

Похоже, что это так stackoverflow.com/questions/33173162/…

AvidRP 07.12.2018 20:08
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
335
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

То, что вы устанавливаете в манифесте, является своего рода начальным значением, которым можно управлять с помощью метода setRequestedOrientation ().

Вы можете проверить написанное, реализовав очень простое приложение.

В основном вы получите тот же результат. Разница в том, что ориентация, указанная в манифесте, действует с самого начала, создания деятельности.

В то время как вы можете вызвать метод setRequestedOrientation (), чтобы программно установить его в зависимости от условий или событий. Например, вы можете изменить ориентацию с книжной на альбомную одним нажатием кнопки, используя метод setRequestedOrientation (). Или сделайте его зависимым от датчика, передав аргумент ActivityInfo.SCREEN_ORIENTATION_SENSOR.

Надеюсь на эту помощь. Вы также можете найти больше в документации по Android.

mayank1513 07.12.2018 20:21

Другие вопросы по теме