启动后禁用屏幕旋转? [复制]

Posted

技术标签:

【中文标题】启动后禁用屏幕旋转? [复制]【英文标题】:Disable screen rotation after started? [duplicate] 【发布时间】:2017-04-19 18:54:55 【问题描述】:

应用启动后如何禁用纵向/横向模式?比如说,如果我以 横向模式 启动应用程序,它会保持横向模式。如果我以纵向模式启动它,它会停留在纵向模式

谢谢

【问题讨论】:

【参考方案1】:

请参考以下链接

orientation lock in android programmatically

您可以保持偏好以保持特定的横向/纵向模式

【讨论】:

【参考方案2】:

只需执行以下操作,即可以纵向模式启动活动。

在清单中,为所有活动设置此项:

<activity android:name=".YourActivity"
    android:configChanges="orientation"
    android:screenOrientation="portrait"/>

见here更多讨论

【讨论】:

【参考方案3】:

您可以创建两个以横向或纵向模式启动的活动。 要禁用相反的功能,请按照前面的说明进行操作。

android:screenOrientation="portrait"

【讨论】:

【参考方案4】:

简单一旦您的应用程序启动,获取设备的方向。然后将该方向设置为您的所有活动。

在您的第一个活动的 onCreate 方法中,像这样获取设备的当前方向

 int orientation = getResources().getConfiguration().orientation;
 setRequestedOrientation(orientation);

这只会设置当前活动的方向。但是如果你想将整个应用程序设置为这种模式,那么试试这个 像这样创建一个辅助类

 Class ActivityHelper

      public static void setOrientation(Activity activity,int orientation)
          activity.setRequestedOrientation(orientation);
      
 

在 setContentView 调用后的 Everyactivity 中

ActivityHelper.setOrientation(this,orientation);//Keep orientation as a static variable

【讨论】:

以上是关于启动后禁用屏幕旋转? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从 android SERVICE 禁用/启用屏幕旋转?

暂时,以编程方式禁用 Qt 中的屏幕旋转

如何禁用屏幕旋转(react-native)?

快速禁用xib的屏幕旋转

屏幕旋转后Android片段重叠

反应本机禁用自动旋转[重复]