2012-04-03 11 views
10

Ich habe eine Anwendung entwickelt und ihre Ausrichtung ist Querformat so konfiguriert, dass sie immer im Querformat auf dem Gerät angezeigt wird.Wie kann ich meine Anwendung 180 Grad auf den Kopf drehen, wenn ich das Gerät um 180 Grad gedreht habe?

Jetzt möchte ich es um 180 Grad auf den Kopf drehen, wenn der Benutzer das Gerät um 180 Grad gedreht dreht, so wird es entsprechend anpassen und dem Benutzer richtig angezeigt.Zurzeit, wenn ich Gerät um 180 Grad gedreht bin, meine Anwendung doesn nicht entsprechend der Drehung anpassen, so dass es umgekehrt angezeigt wird (von unten nach oben) zum Beispiel: Angenommen, meine Aktivität hat 2 Textfelder auf der Oberseite und 2 Tasten auf der Unterseite, wenn Sie also das Gerät um 180 Grad drehen, Die Aktivität passt sich nicht an, sodass der Benutzer die Schaltflächen oben und die Textfelder unten sehen kann, was falsch ist. Er sollte sich entsprechend der Gerätedrehung anpassen/drehen und muss Textfelder auf der Oberseite und Schaltflächen auf der Unterseite anzeigen.

Bitte geben Sie Ihre wertvollen Lösungen an, um dieses Problem zu lösen.

Grüße, Piks

+0

hei ,, ich möchte eigentlich das Gegenteil von Ihrer Frage, ich will es 180 Flip. Wie hast du es getan ,,, –

Antwort

5

In Ihrer AndroidManifest.xml Datei benötigen Sie den <activity> zu konfigurieren, dass die Ausrichtung des Sensors zu verwenden. Dies sollte die Standardeinstellung sein, aber Sie können es mit android:screenOrientation="fullSensor" für alle 4 möglichen Orientierungen auf die Sensororientierungen zwingen. Siehe http://developer.android.com/guide/topics/manifest/activity-element.html#screen

EDIT: Wenn Sie alle bis auf eine Orientierung ermöglichen möchten, können Sie durch das Abfangen der Ausrichtung Änderungsereignis, dass die Orientierung verlieren oder quashing es in Ihrem Activity:

public void onConfigurationChanged(Configuration config) { 
    if (config.orientation != Activity.ORIENTATION_PORTRAIT) { 
    setRequestedOrientation(config.orientation); 
    { 
} 

(Dies ist aus der Spitze von mein Kopf, aber denke, dass es funktioniert, oder etwas fast wie es.)

Sie müssen Android zu lassen, damit die App die Ausrichtung ändert auch in Ihrem <activity> mit android:configChanges="orientation".

+0

Danke für Ihre wertvollen Eingaben, aber es scheint nicht in Android 2.1 API Level 7 unterstützt Gibt es eine Möglichkeit, in 2.1 API Level 7 zu unterstützen? Und ich möchte meine App nicht im Hochformat drehen, also muss ich die Ausrichtung von App Landscape korrigieren, aber es sollte mir erlauben, 180 Grad auf den Kopf zu drehen. – piks

+0

"Sensor" funktioniert auch, kann aber bei manchen Geräten die umgekehrte Querausrichtung nicht zulassen. Ich bearbeite meine Antwort mit einer Möglichkeit, eine Ausrichtung auszuschließen. –

+0

oben Code funktioniert nicht wie erwartet, nach dem Drehen des Geräts 180 Grad, Aktivität nicht neu zu zeigen, wie pro Gerät Rotation. – piks

13

angeben:

android:screenOrientation="sensorLandscape" 

in Ihrem AndroidManifest.xml. Dies wird die Anwendung zwischen Landscape und Reverse Landscape transformieren.

+0

Nach 10-12 Antworten und nach 2-3 Stunden, löste diese Antwort mein Problem in einer Sekunde. –

+0

Danke, das funktioniert !!!! –

Verwandte Themen