在横向模式下打开活动而不锁定方向

时间:2016-01-16 10:19:03

标签: android android-activity orientation android-orientation

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

  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

2 个答案:

答案 0 :(得分:0)

通过在您的活动中添加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
   }
 }

答案 1 :(得分:0)

试试这个...... 在Android Manifest.xml

中的活动代码中添加此行
android:screenOrientation="landscape"

如下所示:

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