我有一個必須始終以橫向模式啓動的活動。在我的onCreate()
方法中,我使用屏幕的尺寸(寬度和高度)來設置界面,所以重要的是最初不是以錯誤的方向創建活動。強制在平板電腦上使用橫向模式
要做到這一點,我已經在清單如下:
<activity android:name="app.myapp.WideActivity"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"/>
這似乎是工作完全沒我的手機上,但在我的平板電腦(三星Galaxy Tab的Android 3.1)的活動中推出肖像模式和開關方向幾乎立即(在onCreate()
方法 - 似乎)。在我的手機(android 2.3)上,在調用onCreate()方法之前,屏幕已經是橫向的。
將setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
放在onCreate()方法似乎沒有幫助。我怎樣才能實現我想要做的?
感謝您的回答。它看起來像奇怪的行爲,它似乎正確地處理肖像,但不是風景。我認爲對於我的應用程序,我可以檢查方向並根據需要調換高度和寬度值。這使我的活動正確顯示。 – 2012-02-16 03:20:12
實際上,現在我想到了,如果我要刪除'configChanges =「orientation」',那麼當設備切換方向並且UI將自行修復時,onCreate()方法會再次被調用。也可以在onCreate方法中添加一個檢查,而不是在縱向模式下繪製UI – 2012-02-16 12:09:22