禁用方向变化

问题描述:

可能重复:
How to disable orientation change in Android?禁用方向变化

我想在任何方向(纵向或横向)打开画布后禁用方向变化,但我有问题,当在横向模式下打开画布并更改设备方向,方向不会被禁用。

这里是代码。

public void onConfigurationChanged(Configuration newConfig) { 

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

} 

试试这个在你的代码...

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

得到的OnCreate的方向,并设置方向该活动

+1

谢谢Thirupathig,伟大的这对我有用。 –

使用此代码为您的活动添加一个固定的方向,从清单:(把活动代码,这里面的代码)

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

本您的活动将显示在仅人像模式

+0

感谢思鲁提,但我不希望打开画布只在一个方向应该是在模式纵向和横向都开放初期,但打开画布后,应禁用方向更改。上述代码正常工作,如果我以纵向模式打开画布。 –

+0

好吧,所以可能是你需要使用'android:configChanges =“orientation | keyboardHidden”'这行只.. – Shruti

用途:

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