【问题标题】:Programmatically disabling screen rotations in the entire Android application以编程方式在整个 Android 应用程序中禁用屏幕旋转
【发布时间】:2021-03-02 16:56:11
【问题描述】:

如何以编程方式禁用整个 Android 应用程序的屏幕旋转?

【问题讨论】:

标签: android orientation


【解决方案1】:

无论设备以哪种方式倾斜,都将其保持为纵向或横向? 您需要将此添加到要限制的活动中的清单中

 android:screenOrientation="portrait" //Or landscape for horizontal.

如果您希望在活动之间有所不同,只需让您的清单看起来像这样。

        <activity android:name=".Activity1" 
        android:screenOrientation="landscape">       
        </activity>

        <activity android:name=".Activity2" 
        android:screenOrientation="portrait">
        </activity>

        <activity android:name=".Activity3" 
        android:screenOrientation="landscape">
        </activity>

【讨论】:

  • 我想要整个应用程序的纵向方向
  • 只需要让所有的活动看起来像.Activity2。享受吧!
  • programmatically!
【解决方案2】:

为每个活动修复 android manifest 中的方向

        <activity  android:name=".SomeNewDesignActivity"  
           android:screenOrientation="portrait"  ></activity>

【讨论】:

  • 按照你想要的纵向/横向等固定每个活动方向
  • 不是每个活动都有自己的方向。所以您必须为应用程序清单中的每个活动设置此属性
【解决方案3】:

聚会太晚了!

无论如何,如果您想禁用旋转而不强制用户选择横向或纵向,您可以在清单中的每个活动中使用

android:screenOrientation="locked"

所以你的清单应该是这样的

    <activity android:name=".Activity1" 
      android:screenOrientation="locked">       
    </activity>

    <activity android:name=".Activity2" 
      android:screenOrientation="locked">
    </activity>

    <activity android:name=".Activity3" 
      android:screenOrientation="locked">
    </activity>

因此应用将保持用户决定使用的当前方向。

可以通过编程方式获得相同的行为:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);

【讨论】:

    【解决方案4】:

    为整个应用程序进行纵向/横向屏幕方向的最佳方式 -

    Add following lines in your app theme - 
    
    for making all activity portrait - 
    
    
    
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
     
        <item name="android:screenOrientation">portrait</item>
    </style>
    

    用于制作所有活动景观 -

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
     
        <item name="android:screenOrientation">landscape</item>
    </style>
    

    【讨论】:

      猜你喜欢
      • 2011-03-26
      • 1970-01-01
      • 2023-01-12
      • 2016-11-13
      • 2016-08-13
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多