我如何禁用景观模式的一些观点在我的Android应用程序?


当前回答

在oncreate()方法中添加一个类:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

其他回答

这对我很管用。尝试在AndroidManifest文件中添加以下代码:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:screenOrientation="portrait"
    android:theme="@style/AppTheme">
    ....
    ....
</application>

在oncreate()方法中添加一个类:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

如果你的活动与第一个设备朝向状态相关,在onCreate方法中获取当前设备朝向,然后永远修复它:

int deviceRotation = ((WindowManager) getBaseContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getOrientation();

if(deviceRotation == Surface.ROTATION_0) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
else if(deviceRotation == Surface.ROTATION_180)
{
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
}
else if(deviceRotation == Surface.ROTATION_90)
{
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
else if(deviceRotation == Surface.ROTATION_270)
{
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
}

添加android:screenOrientation="portrait"到你想禁用横向模式的活动中。

在<apphome>/platform/android目录下,创建AndroidManifest.xml(从生成的目录中复制它)。

然后添加android:screenOrientation="portrait"到所有的活动元素。