Wie lege ich verschiedene Layouts für Hoch- und Querformat fest?

Ich habe Hinweise darauf gefunden, dass ich zwei separate Layout-XML-Dateien für eine Aktivität angeben kann, eine für Portrait und eine für Landscape. Ich habe jedoch keine Informationen darüber gefunden, wie das geht. Wie lege ich für jede Aktivität fest, welche XML-Datei das Hochformat-Layout und welches das Landscape-Layout ist?

Ist es auch möglich, unterschiedliche Layouts für unterschiedliche Bildschirmgrößen festzulegen? Wenn ja, wie wird das gemacht?

Solutions Collecting From Web of "Wie lege ich verschiedene Layouts für Hoch- und Querformat fest?"

Erstellen Sie ein layout-land Verzeichnis und fügen Sie die Landschaftsversion Ihrer Layout-XML-Datei in dieses Verzeichnis ein.

Sie müssen es nur unter verschiedenen Ordnern mit unterschiedlichen Namen je nach Ausrichtung und Auflösung platzieren, das Gerät wählt automatisch die richtige für seine Bildschirmeinstellungen

Mehr Infos hier:

http://developer.android.com/guide/practices/screens_support.html

unter “Ressourcenverzeichnisqualifikatoren für Bildschirmgröße und -dichte”

Nur eine Erinnerung:

Entfernen Sie die orientation des Attributs android:configChanges für die Aktivität in Ihrer Manifest- xml Datei, wenn Sie sie definiert haben:

 android:configChanges="orientation|screenLayout|screenSize" 

Für Mäuseliebhaber! Ich sage mit der rechten Maustaste auf Ressourcenordner und Add new resource file , und aus Verfügbare Qualifier wählen Sie die orientation :

Bildbeschreibung hier eingeben


Man kann es aber trotzdem manuell tun, indem man den Unterordner “Layout-Land” hinzufügt

“Ihre Projektausrichtung \ app \ src \ main \ res”

Seitdem funktioniert jede Datei layout.xml unter diesem Unterordner nur noch automatisch im Querformat.

Verwenden Sie “Layout-Port” für den Hochformatmodus.

Erstellen Sie ein neues Verzeichnis layout-land , dann erstellen Sie xml Datei mit dem gleichen Namen in layout-land als layout Verzeichnis und richten Sie dort Ihren Inhalt für Landscape-Modus.

Beachten Sie, dass die ID des Inhalts in beiden xml identisch ist.

Oder benutze das: