1. 程式人生 > >Android中禁用螢幕旋轉

Android中禁用螢幕旋轉

在Android中,如果螢幕發生了旋轉(橫向、縱向切換),那麼會非常悲劇。會銷燬當前的Activity,然後重新建立一個新螢幕方向的Activity。由於遊戲中的引數很密集,而且一般不會考慮兩種螢幕的情況,所以需要禁用螢幕旋轉功能(和iPhone中大多數遊戲類似)。

    首先要禁用旋轉,在AndroidManifest.xml中找到當前遊戲主窗體的Activity配置檔案,新增以下程式碼:

android:screenOrientation="landscape"

    這裡的landscape是橫向的意思,其他選項用Eclipse的程式碼提示可以看到。現在運行遊戲後,無論螢幕怎麼切換,始終是橫向的了。但是依然很悲劇,旋轉屏幕後會重新建立Activity。還需要在Activity配置檔案中新增以下程式碼:

android:configChanges="orientation|keyboardHidden"

    添加了上面的程式碼後,再也不會重複的建立Activity了。如果需要捕獲螢幕旋轉的事件,只需要在Activity的程式碼中覆寫onConfigurationChanged方法即可:

@Override public void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig); // do something }

    OK,到此,再也不用擔心螢幕旋轉的問題了。