2012-04-07 8 views
0

Ich entwickle eine Android-Anwendung und Probleme mit Layouts.Landscape und Portrait Mode Layout Probleme

I Layout-große und Layout-large-Land Ordner erstellt hatte Landschaft Layout und Porträt Layout zu ändern; aber ich habe ein seltsames Problem.

Wenn ich die Anwendung im Hochformat gestartet und in den Querformatmodus gedreht hatte; Die Anwendung hat das Layout nicht geändert, so dass der Benutzer das Layout im Hochformat sieht. Aber wenn ich die Anwendung im Querformat-Modus gestartet und in den Hochformat-Modus gedreht hätte; Die Anwendung hat das Layout nicht geändert, sodass der Benutzer das Landscape-Modus-Layout sieht.

Beide Male, wenn dieses Fenster erneut geöffnet wird, wird der aktuelle Orientierungsmodus auf den Bildschirm angewendet.

Es gibt kein android:orientation Attribut in Layouts.

+0

Was ist der Wert von android: screenOrientation = "" in Manifest.xml für Aktivitäten? –

Antwort

0

Stellen Sie sicher, dass android:configChanges="orientation" nicht in Ihrem AndroidManifest für diese Aktivität festgelegt ist (wodurch die Aktivität bei der Orientierungsänderung nicht erneut erstellt wird und daher Ihre konfigurationsspezifischen Layouts nicht erneut gelesen wird).

+0

gab es android: configChanges = "orientation | keyboardHidden" Attribut bei jeder Aktivität. Ich weiß nicht, ob dies Auswirkungen hat :) –

+0

Ja, das bedeutet, dass Ihr Code sowohl Änderungen der Ausrichtung als auch Änderungen der Tastatur-Zugänglichkeit (in Activity.onConfigurationChanged) behandelt. Wenn Sie möchten, dass das System die Aktivität bei einer Orientierungsänderung automatisch neu startet (also Ihre neuen konfigurationsspezifischen Layouts erneut liest), müssen Sie "orientation" aus den configChanges entfernen oder configChanges vollständig entfernen. Bitte beachten Sie die Dokumentation: http://developer.android.com/guide/topics/manifest/activity-element.html#config – AdamK

Verwandte Themen