【问题标题】:Opening activity in landscape mode without locking the orientation在横向模式下打开活动而不锁定方向
【发布时间】:2016-01-16 10:19:03
【问题描述】:

我想最初以横向打开一个活动,但我不想锁定该方向。这意味着用户可以在旋转时切换方向。我尝试将以下代码添加到活动。它以横向模式打开活动,但是它被锁定了。

  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

【问题讨论】:

    标签: android android-activity orientation android-orientation


    【解决方案1】:

    通过在您的活动中添加android:configChanges="orientation|keyboardHidden",您可以处理方向改变时的操作。

    @override
    public void onConfigurationChanged(Configuration newConfig) {
       super.onConfigurationChanged(newConfig);
       if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
             //change orientation here
    
       } else if (newConfig.orientation ==Configuration.ORIENTATION_LANDSCAPE{
            //change orientation here
       }
     }
    

    【讨论】:

      【解决方案2】:

      试试这个... 在 Android Manifest.xml 的活动标签中添加这一行

      android:screenOrientation="landscape"
      

      如下:

         <activity
              android:name="com.abc.def.MainActivity"
              android:label="@string/app_name"
              android:screenOrientation="landscape" />
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多