【问题标题】:Disable screen rotating on Android [duplicate]在Android上禁用屏幕旋转[重复]
【发布时间】:2011-03-20 17:43:16
【问题描述】:

当我按下按钮时,我想在我的所有活动中禁用屏幕旋转。我该怎么做?

顺便说一句,当用户单击按钮时,手机可以处于横向或纵向位置。

【问题讨论】:

    标签: android screen-orientation


    【解决方案1】:

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    【讨论】:

    • 如果我添加这一行,它适用于所有应用程序吗?还是对活动有效?
    • 它似乎只适用于我调用此代码的活动,并且仅在我移动到另一个活动之前(当我返回此活动时,应用默认设置)..我认为它是为 onResume/onSatrt 方法中的所有活动调用此类代码(检查,如果需要,我们是否应该旋转和旋转屏幕)没有好的做法
    【解决方案2】:

    您可以将您的 AndroidManifest.xml 更改为

    <activity android:name="MainActivity" android:configChanges="orientation">
    

    这会通知操作系统您将处理这些配置更改(什么都不做)。

    How do I disable orientation change on Android?

    【讨论】:

    • 我绑定了以下内容:1) 在清单中: 2) 在 AboutActivity:@Override public void onConfigurationChanged(Configuration newConfig) { newConfig.orientation = Configuration.ORIENTATION_LANDSCAPE; super.onConfigurationChanged(newConfig);但无论如何,当设备旋转时,活动的屏幕也会旋转。我做错了什么?
    • 您也可以调用 super.onConfigurationChanges() 来更改方向,从而旋转屏幕。使用 if 结构来确定方向/键盘状态是否已更改;您应该只为其他更改调用 super。
    • 不管你叫不叫super。在本次回调的时候已经发生了配置变化;它只是被叫来告诉你这件事。
    • 我好像记得如果你不调用super,框架会抛出异常(即使对于这个方法,它没有特别的效果)。
    【解决方案3】:

    我找到了解决办法:

    在 manifest.xml 中:

     <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar" android:name="MyApplication">
    

    在 MyApplication.java 中:

    public class UPackingListApplication extends Application {
    
        public void onConfigurationChanged(Configuration newConfig) {
            newConfig.orientation = [orientation we wanna to use (according to ActivityInfo class)];
            super.onConfigurationChanged(newConfig);
        }
    
    
    }
    

    【讨论】:

    • 我已经在活动级别尝试过,它可以将内部方向跟踪设置为您设置的任何值,但实际上停止方向更改或能够物理设置方向,它似乎不起作用。
    猜你喜欢
    • 2012-07-21
    • 2012-02-20
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    相关资源
    最近更新 更多