Activity 方向继承自父级
Activity orientation is inherited from parent
我有一个 Android 应用程序,其中包含 2 个活动(实际上更多,但在这里无关紧要)。
第一个具有固定方向(横向),第二个具有默认(未定义)方向。第一个 activity 作为初始屏幕然后自动启动第二个 activity。
问题是第二个 activity 从第一个继承横向方向,即如果设备方向是垂直的,当第二个 activity 出现时它具有横向然后立即旋转到垂直方向。
如果我删除第一个 activity 以便第二个在开始时出现,它就不会发生。
请注意,由于某种原因,我既不能为第一个设置垂直方向 activity 也不能设置未定义的方向并相应地绘制。
请帮忙
<activity android:name="SplashActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:configChanges="screenSize"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="GameActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:configChanges="orientation|screenSize"
android:screenOrientation="fullSensor">
</activity>
我也尝试过使用 'undefined' 或根本不为 GameActivity 设置任何方向。
希望我做对了。所以你想要,第二个 Activity
没有得到第一个的旋转。
在第二个 Activity
的 onCreate()
方法中使用以下内容:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
如果还是没有帮助,那就是Android的行为。
如果有帮助,那就太好了。
在第一个之后Intent
Activity
,应该是这样的:
Intent intent = new Intent(SplashActivity.this, GameActivity.class);
startActivity(spcthxopen);
你刚刚把
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
在那Intent
之下。我刚刚试过了,它完美地解决了 Android 的默认行为。
我有一个 Android 应用程序,其中包含 2 个活动(实际上更多,但在这里无关紧要)。
第一个具有固定方向(横向),第二个具有默认(未定义)方向。第一个 activity 作为初始屏幕然后自动启动第二个 activity。
问题是第二个 activity 从第一个继承横向方向,即如果设备方向是垂直的,当第二个 activity 出现时它具有横向然后立即旋转到垂直方向。
如果我删除第一个 activity 以便第二个在开始时出现,它就不会发生。
请注意,由于某种原因,我既不能为第一个设置垂直方向 activity 也不能设置未定义的方向并相应地绘制。
请帮忙
<activity android:name="SplashActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:configChanges="screenSize"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="GameActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:configChanges="orientation|screenSize"
android:screenOrientation="fullSensor">
</activity>
我也尝试过使用 'undefined' 或根本不为 GameActivity 设置任何方向。
希望我做对了。所以你想要,第二个 Activity
没有得到第一个的旋转。
在第二个 Activity
的 onCreate()
方法中使用以下内容:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
如果还是没有帮助,那就是Android的行为。 如果有帮助,那就太好了。
在第一个之后Intent
Activity
,应该是这样的:
Intent intent = new Intent(SplashActivity.this, GameActivity.class);
startActivity(spcthxopen);
你刚刚把
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
在那Intent
之下。我刚刚试过了,它完美地解决了 Android 的默认行为。