【问题标题】:Locking phone in portrait mode以纵向模式锁定手机
【发布时间】:2013-11-18 17:30:25
【问题描述】:

我想以编程方式更改我的应用程序中的旋转模式。我发现的所有讨论都是关于在特定活动中禁用轮换。我想将整个手机锁定为纵向模式。我该如何做到这一点?

编辑。澄清一下,我想锁定整个手机,包括所有其他应用程序、设置等。不仅仅是我自己的应用程序。

【问题讨论】:

    标签: java android rotation screen-orientation


    【解决方案1】:

    将以下内容添加到您的活动 onCreate:

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    

    【讨论】:

    • 我编辑了我的帖子以使其更加清晰。我不希望我的应用是纵向的。
    【解决方案2】:

    最简单、最快且保证工作的方法是定义一个父 Activity 类:

    public class MyActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
    }
    

    然后让你的所有活动都继承父活动:

    活动一:

    public class MainActivity extends MyActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }
    

    活动二:

    public class LoginActivity extends MyActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_login);
        }
    }
    

    这样,你只需要定义一次。

    【讨论】:

      【解决方案3】:

      在您的 AndroidManifest.xml 集中...

      android:screenOrientation="portrait"

      ...作为 Activity/Activity 的属性。

      【讨论】:

        【解决方案4】:

        这篇文章应该足以回答你的问题:)

        stackoverflow.com/questions/582185/

        如果您正在使用片段,您只需定义一次,否则您需要在每个活动标签中定义它...

        【讨论】:

          猜你喜欢
          • 2020-07-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-17
          • 1970-01-01
          相关资源
          最近更新 更多