0

當我打開活動時,我希望活動保持打開的方向。
例如,如果我在PORTRAIT模式下打開它,那麼用戶將無法將其更改爲風景,並且當我在LANDSCAPE中將其打開時,用戶將無法更改爲人像。 (我需要這個視頻播放器)Android - 讓活動保持其原始方向

要做到這一點,我得到當前的屏幕方向,然後將其設置,如下所示:

int orientation = getResources().getConfiguration().orientation; 
setRequestedOrientation(orientation); 

如果我打開在縱向模式下的活動,並嘗試通過旋轉手機切換到LANDSCAPE,它不會 - 這是預期的。問題是,如果活動在LANDSCAPE中打開,我試圖旋轉到肖像 - 它確實如此。

我不明白爲什麼會發生這種情況。

的代碼出現在的onCreate(),所述的setContentView()

+0

你節省配置更改你的方向是什麼?保存int並在設置佈局之前將其恢復。 – Raykud

回答

1

問題是高於getResources().getConfiguration().orientation,並用不同的常數setRequestedOrientation(orientation);工作。您可以嘗試閱讀他們兩個的文檔,並在它們之間進行映射。

1

試試這個:

@Override 
    public void onResume() { 
     super.onResume(); 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 

    }