webentwicklung-frage-antwort-db.com.de

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

Ich habe Hinweise darauf gesehen, dass zwei separate XML-Layoutdateien für eine Aktivität angegeben werden können, eine für Hochformat und eine für Querformat. Ich war jedoch nicht in der Lage, Informationen darüber zu finden. Wie gebe ich für jede Aktivität an, welche XML-Datei das Hochformat und welche das Querformat ist?

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

133
Jay Askren

Ein ... kreieren layout-land Verzeichnis und legen Sie die Querformatversion Ihrer Layout-XML-Datei in diesem Verzeichnis ab.

194
Mark B

Sie müssen es nur in separaten Ordnern mit unterschiedlichen Namen ablegen, je nach Ausrichtung und Auflösung. Das Gerät wählt automatisch den richtigen Ordner für die Bildschirmeinstellungen aus

Mehr Infos hier:

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

unter "Ressourcenverzeichnis-Qualifizierer für Bildschirmgröße und -dichte"

59
Silvio Donnini

Für Mausliebhaber! Ich sage Rechtsklick auf Ressourcenordner und Add new resource file und wählen Sie unter Verfügbare Qualifikationsmerkmale das orientation aus:

enter image description here


Sie können dies jedoch manuell tun, indem Sie beispielsweise den Unterordner "layout-land" hinzufügen

"Ihr-Projekt-Verzeichnis\app\src\main\res"

seitdem funktioniert jede layout.xml-Datei in diesem Unterordner nur im Querformat automatisch .

Verwenden Sie "layout-port" für den Hochformatmodus.

23
AmiNadimi

Nur eine Erinnerung:

Entfernen Sie das Attribut orientation aus dem Attribut Android:configChanges Für die Aktivität in Ihrer Manifestdatei xml, wenn Sie es definiert haben:

Android:configChanges="orientation|screenLayout|screenSize"
19
Robin Qiu

Erstelle ein neues Verzeichnis layout-land, dann erstelle xml eine Datei mit dem gleichen Namen in layout-land als es war layout Verzeichnis und richten Sie dort Ihren Inhalt für den Querformatmodus.

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

3
Nouman Shah

Oder benutze dies:

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
            Android:scrollbars="vertical" 
            Android:layout_height="wrap_content" 
            Android:layout_width="fill_parent">

  <LinearLayout Android:orientation="vertical"
                Android:layout_width="fill_parent"
                Android:layout_height="fill_parent">

     <!-- Add your UI elements inside the inner most linear layout -->

  </LinearLayout>
</ScrollView>
2
Giant

Die letzte Zeile unten ist ein Beispiel für die Anwendung von zwei Quantifizierern: Querformat und Bildschirm mit der kleinsten Breite (600 dpi). Aktualisieren Sie 600dp mit den benötigten.

res/layout/main_activity.xml                # For handsets
res/layout-land/main_activity.xml           # For handsets in landscape
res/layout-sw600dp/main_activity.xml        # For 7” tablets
res/layout-sw600dp-land/main_activity.xml   # For 7” tablets in landscape

Das oben Gesagte gilt auch für Dimensionen

res/values/dimens.xml                # For handsets
res/values-land/dimens.xml           # For handsets in landscape
res/values-sw600dp/dimens.xml        # For 7” tablets
res/values-sw600dp-land/dimens.xml   # For 7” tablets in landscape

Eine nützliche Gerätemetrik: https://material.io/tools/devices/

1
s-hunter

Ich denke, der einfachste Weg in den neuesten Android Versionen ist, in den Design-Modus eines XML (nicht Text) zu wechseln.

Wählen Sie dann im Menü die Option - Landschaftsvariation erstellen. Dadurch wird in wenigen Sekunden eine Landscape-XML-Datei ohne Probleme erstellt. Mit der neuesten Android Studio-Version können Sie sofort eine Landschaftsansicht erstellen.

enter image description here

Ich hoffe das klappt bei dir.

1

Schnellster Weg für Android Studio 3.x.x

1.Gehen Sie zur Registerkarte Design des Aktivitätslayouts

2.Zuoberst sollten Sie auf die Schaltfläche Ausrichtung für die Vorschau klicken. Es besteht die Möglichkeit, ein Querformat-Layout zu erstellen (Bild überprüfen). Für diese Ausrichtung wird ein neuer Ordner als XML-Layoutdatei erstellt

enter image description here

0
Shid
  1. Rechtsklick auf res Ordner,
  2. Neu -> Android Resource File
  3. wählen Sie unter Verfügbare Qualifikationsmerkmale die Option Ausrichtung aus.
  4. zum ausgewählten Qualifier hinzufügen
  5. wählen Sie in der Bildschirmausrichtung Querformat aus
  6. Drücke OK

Mit Android Studio 3.4.1, erstellt es nicht mehr layout-land Ordner . Es wird ein Ordner erstellt und zwei Layoutdateien zusammengefügt.

enter image description here

0
eos1d3