2010-12-06 16 views
14

Ich möchte eine Android-App (für ein Tablet) erstellen, die nur im Querformat angezeigt werden soll, z. Die App sollte Rotationen um 90 ° ignorieren, aber Rotationen um 180 ° unterstützen.Android: Drehungen um 90 ° deaktivieren, aber Drehungen um 180 ° ermöglichen

Das Hinzufügen von android: screenOrientation = "Landschaft" im Manifest bewirkt, dass die App alle Rotationen (sogar die 180 ° -Drehungen) ignoriert, d.h. das Gerät um 180 ° dreht, zeigt die Anwendung auf dem Kopf.

Ohne das Attribut android: screenOrientation wird meine App in allen vier Positionen "korrekt" angezeigt. Durch Drehen des Geräts um 180 ° wird das UI vertikal bzw. horizontal.

Wenn die Drehung des Gerätes die folgenden Protokollmeldungen erstellt werden (vielleicht hilft das?):

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

Zusammengefasst: Ist es möglich, eine App zu ermöglichen, die beiden Querformat zu unterstützen?

+0

Ich bezweifle es ... warum möchten Sie den Upside-Down-Modus unterstützen, aber nicht andere Rotationen? –

+0

@Mayra - die offensichtliche Sache, die in den Sinn kommt, ist eine App, die nicht Porträt und Geräte, die "erforderlichen" Tasten, USB-Anschluss usw. auf der Seite haben können (die in einer erzwungenen horizontalen Ausrichtung zum "Boden" wird). – Squonk

+1

@janjonas - Ich habe gerade eine halbe Stunde damit verbracht, damit herumzuhacken und ich kann es nicht für mich arbeiten lassen. Android 2.3 unterscheidet zwischen normalen und "umgekehrten" Hoch- und Querformat-Orientierungen, aber vielleicht könnten Sie damit arbeiten, wenn es für Ihr Tablet-Gerät verfügbar ist. – Squonk

Antwort

17

Die neue sensorLandscape Bildschirmausrichtung ist offensichtlich für diesen Zweck gedacht.

ZB könnten Sie tun:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); 

Leider ist dies ab Android 2.3 verfügbar ist. Ich bin derzeit auf der Suche nach einer Möglichkeit, dies auf Froyo zu erreichen.

+0

Danke für Ihre Antwort. IMHO gibt es keine Möglichkeit, dies in 2.2 – janjonas

+0

zu tun Haben Sie es geschafft, dies auf 2.2 zu tun? – ffleandro

+0

funktionierte für mich auf einem 3.2.1 Tablet, aber nicht auf einem 4.0.2 Telefon (mit SCREEN_ORIENTATION_SENSOR_PORTRAIT) – SteelBytes

Verwandte Themen