Frage

Ich habe Referenzen darauf gesehen, dass er zwei separate Layout -XML -Dateien für eine Aktivität angeben kann, eine für Porträt und eine für die Landschaft. Ich war jedoch nicht darin, Informationen dazu zu finden, wie das geht. Wie spezifiziere ich für jede Aktivität, welche XML -Datei das Porträtlayout ist und welches Landschaftslayout?

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

War es hilfreich?

Lösung

Ein ... kreieren layout-land Verzeichnis und legen Sie die Landschaftsversion Ihrer Layout -XML -Datei in dieses Verzeichnis.

Andere Tipps

Sie müssen es nur unter separate Ordner mit unterschiedlichen Namen in Abhängigkeit von der Ausrichtung und Auflösung setzen. Das Gerät wählt automatisch die richtige für seine Bildschirmeinstellungen aus

Weitere Informationen hier:

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

Unter "Ressourcenverzeichnis Qualifikatoren für Bildschirmgröße und Dichte"

Für Mausliebhaber! Ich sage mit der rechten Maustaste auf Ressourcenordner und Add new resource file, und aus verfügbaren Qualifikationsspielern wählen Sie die orientation :

enter image description here


Aber trotzdem können Sie es manuell tun, indem Sie den Unterordner "Layout-Land" zum Hinzufügen

"Ihr project-directory app src main res"

Seitdem funktioniert jede Layout.xml-Datei unter diesem Unterordner nur für den Landschaftsmodus automatisch.

Verwenden Sie "Layout-Port" für den Porträtmodus.

Nur eine Erinnerung:

Entfernen orientation aus android:configChanges Attribut für die Aktivität in Ihrem Manifest xml Datei, wenn Sie es definiert haben:

android:configChanges="orientation|screenLayout|screenSize"

Erstellen Sie ein neues Verzeichnis layout-land, dann erstellen xml Datei mit gleichem Namen in layout-land wie es war layout Verzeichnis und richten Sie dort Ihren Inhalt für den Landschaftsmodus aus.

Beachten Sie diese ID des Inhalts in beiden xml ist gleich.

Oder verwenden Sie 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>

Ich denke, der einfachste Weg in den neuesten Android -Versionen besteht darin, den Entwurfsmodus eines XML (nicht in Text) zu entwerfen.

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

enter image description here

Ich hoffe das funktioniert für Sie.

Die letzte Zeile unten ist ein Beispiel für die Anwendung von zwei Quantifizierern: Landschaft und kleinste Breite(600DP) Bildschirm. Aktualisieren Sie 600DP mit denen, die Sie benötigen.

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 obige gilt auch für Abmens

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

Ein nützliches Gerätekennzahlen: https://material.io/tools/devices/

  1. Klicken Sie mit der rechten Maustaste.
  2. Neu -> Android -Ressourcendatei
  3. Wählen Sie in verfügbaren Qualifikationen die Orientierung aus,
  4. Zu ausgewählten Qualifikationsspielern hinzufügen
  5. Wählen Sie in der Bildschirmausrichtung Landschaft aus
  6. drücke OK

Verwenden von Android Studio 3.4.1, es schafft nicht mehr layout-land Mappe. Es wird einen Ordner erstellt und zwei Layoutdateien zusammengesetzt.

enter image description here

Schnellste Möglichkeit für Android Studio 3.xx

1. Gehen Sie auf die Registerkarte "Entwurf" des Aktivitätslayouts

2. Bei der Oberseite sollten Sie auf die Schaltfläche "Ausrichtung für Vorschau" drücken. Es besteht die Möglichkeit, ein Landschaftslayout zu erstellen (Überprüfungsbild). Ein neuer Ordner wird als XML -Layout -Datei für diese bestimmte Orientierung erstellt

enter image description here

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top