2012-11-01 73 views
0

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

我想在任何方向(縱向或橫向)打開畫布後禁用方向變化,但我有問題,當在橫向模式下打開畫布並更改設備方向,方向不會被禁用。

這裏是代碼。

public void onConfigurationChanged(Configuration newConfig) { 

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

} 

回答

7

試試這個在你的代碼...

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

得到的OnCreate的方向,並設置方向該活動

+1

謝謝Thirupathig,偉大的這對我有用。 –

3

使用此代碼爲您的活動添加一個固定的方向,從清單:(把活動代碼,這裏面的代碼)

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

本您的活動將顯示在僅人像模式

+0

感謝思魯提,但我不希望打開畫布只在一個方向應該是在模式縱向和橫向都開放初期,但打開畫布後,應禁用方向更改。上述代碼正常工作,如果我以縱向模式打開畫布。 –

+0

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

1

用途:

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