#android #android-layout
#Android #android-layout
Вопрос:
что произойдет, если добавить screenOrientation =behind в элемент запуска Activity
<activity
android:name=".ui.activity.SplashActivity"
android:screenOrientation="behind"
android:configChanges="screenSize|orientation|keyboard"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
Я хочу знать, что произойдет, если я напишу это, и хочу знать подробности.
Ответ №1:
Если вы настроили всю активность вашего проекта в той же screenOrientation. вы можете запустить свое приложение с помощью действия на экране-заставке, установить ориентацию, как в вашем текущем коде, и перейти к вашей CoreActivity или любой другой активности в вашем приложении.
В вашем AndroidManifest.xml
наборе
<activity
android:name=".CoreActivity"
android:screenOrientation="behind"/>
При этом будет использоваться та же ориентация, что и у действия, которое находится непосредственно под ним в стеке действий.
Явно это используется для сохранения экрана в той же ориентации, что и за этим действием.
Комментарии:
1. но активность lauch не имеет ориентации, если я добавлю screenOrientation =behind в lauch-activity, какова ее ориентация?
2. Если включен автоматический поворот, то activity игнорирует атрибут «behind» и вращается вместе с экраном телефона.
3. Автоматическое вращение в системных настройках отключено (или включено — это не имеет значения, опция «behind» в любом случае игнорируется). android: screenOrientation=»landscape» установлен для MainActivity, а android: screenOrientation=»behind» установлен для SecondActivity, что означает, что SecondActivity также должен быть запущен в альбомной ориентации.