禁用方向更改

时间:2012-11-01 04:52:00

标签: android

  

可能重复:
  How to disable orientation change in Android?

我希望在以任何方向(纵向或横向)打开画布后禁用方向更改,但是在横向模式下打开画布并更改设备方向时,我遇到问题,方向未被禁用。

这是代码。

public void onConfigurationChanged(Configuration newConfig) {

  super.onConfigurationChanged(newConfig);
  this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);

}

3 个答案:

答案 0 :(得分:6)

在您的代码中尝试此操作...

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
    {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    }
    else
    {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

获取oncreate中的方向并设置该活动的方向

答案 1 :(得分:3)

使用以下代码为清单中的活动添加固定方向:(将此代码放在活动代码中)

android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden"

这样您的活动将仅以纵向模式显示

答案 2 :(得分:1)

使用:

<activity android:name="YourActivity" android:configChanges="orientation|keyboardHidden">