2010-12-06 70 views
14

我想要創建僅應橫向顯示的Android應用(用於平板電腦),例如,應用程序應該忽略90°旋轉,但支持旋轉180°。Android:禁用旋轉90°,但啓用旋轉180°

在清單中添加android:screenOrientation =「landscape」會導致應用忽略所有旋轉(即使是180°旋轉),即將設備旋轉180°會使應用程序顛倒。

沒有android:screenOrientation屬性,我的應用程序在所有四個位置都顯示爲「正確」。將設備旋轉180°垂直翻轉UI。水平。

當循環以下日誌消息創建的設備(也許這可以幫助?):

[...]: INFO/WindowManager(1290): Setting rotation to 1, animFlags=0 
Rotation is a value between 0 and 3 representing the current orientation. 

概括爲:是否有可能使一個應用程序來支持橫向模式?

+0

我懷疑它......你爲什麼要支持顛倒模式,而不是其他旋轉? – 2010-12-07 01:11:32

+0

@Mayra - 一個顯而易見的事情是一個不適合肖像和設備的應用程序,這些應用程序可能在側面具有「必需」按鈕,USB端口等(在強制水平方向上成爲「底部」)。 – Squonk 2010-12-07 01:48:08

回答

17

新的sensorLandscape屏幕方向顯然是爲了這個目的。

例如,你可以這樣做:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); 

不幸的是,這僅僅是可以作爲的Android 2.3的。我目前正在尋找一種在Froyo上實現這一目標的方法。