2010-12-06 19 views
14

横向きにしか表示されないAndroidアプリ(タブレット用)を作成したいとします。アプリは回転を90°無視する必要がありますが、180°回転をサポートします。Android:回転を90°回転させず180°回転できるようにする

マニフェストにアンドロイド:screenOrientation = "landscape"を追加すると、アプリケーションはすべての回転を無視します(180度の回転も含む)。つまり、デバイスを180°回転させると、アプリケーションは上下逆さまになります。

android:screenOrientation属性を指定しないと、my appは4つの位置すべてで「正しく」表示されます。デバイスを180°回転させると、UIが垂直方向に反転します。水平に

次のログメッセージが作成されているデバイスを回転(多分これは役立ちます?):

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

要約:それは、両方の風景の向きをサポートするためのアプリケーションを有効にすることは可能ですか?

+0

私はそれを疑う...あなたは逆さまモードをサポートしたいが、他の回転はサポートしないのはなぜだろうか? –

+0

@Mayra - 心に浮かぶ明白なことは、ポートレートや、必要なボタン、側面にUSBポートなどがあるかもしれないデバイス(強制的な水平方向では「ボトム」になる)に適合しないアプリです。 – Squonk

+1

@ janjonas - これで約30分かけてハッキングしました。私はそれを私のために働かせることはできません。 Android 2.3では、通常の「逆」ポートレートと横向きの向きが区別されますが、タブレットデバイスで使用できるようになったときに、それを使用することができます。 – Squonk

答えて

17

新しいsensorLandscapeは、この目的のために意図されているようです。

例えば、あなたが行うことができます:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); 

残念ながら、これは、Android 2.3のようにのみ使用可能です。私は現在Froyoでこれを達成する方法を探しています。

+0

あなたの答えをありがとう。 IMHO 2.2でこれを行う方法はありません – janjonas

+0

2.2でこれを行うことができましたか? – ffleandro

+0

は3.2.1のタブレットで動作しましたが、4.0.2の電話機では使用できませんでした(SCREEN_ORIENTATION_SENSOR_PORTRAITを使用) – SteelBytes