1

即使設備旋轉了,我也希望我的活動能夠保持其開始的方向,無論是縱向還是橫向。 API級別18介紹android:screenOrientation=」locked」,應該做的工作:Locks the orientation to its current rotation, whatever that is.android:screenOrientation =在舊操作系統版本上「鎖定」

但是,我想也支持較舊的操作系統版本。我怎樣才能做到這一點?

我知道Lock screen orientation (Android),它討論了鎖定橫向模式的活動,How do I disable orientation change on Android?討論了縱向模式下的鎖定活動(在三星Galaxy S,OS 2.3.3上完全不適用於我)。我也知道advice recommending not to do this

回答

1

MainActivity.java

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

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

    // ... 
} 

我也修改清單文件。但是,我不確定是否需要這些更改,至少android:screenOrientation="unspecified"是默認的screenOrientation值。 AndroidManifest.xml

<activity android:name="MainActivity" 
    android:configChanges="keyboardHidden|orientation|screenSize" 
    android:screenOrientation="unspecified" /> 
相關問題