1

Gibt es eine Möglichkeit, ein anderes Layout für eine Android-Aktivität basierend auf dem Typ des Geräts auszuwählen?Android: Wählen Sie ein anderes Layout basierend auf dem ausgewählten Gerät

Ich versuche, klarer zu sein. Ich habe zwei Layout: home_layout_phone.xml und home_layout_tablet.xml. Sie sind gleich, aber die Objekte haben unterschiedliche Proportionen und in der HomeActivity.java möchte ich so etwas wie dies zu tun:

setContentView(R.layout.home_layout_phone.xml); //if the device is a phone 
setContentView(R.layout.home_layout_tablet.xml); //if the device is a tablet 

Wie kann ich das tun? Ich verwende AndroidStudio 1.5.1. Danke für deine Antworten und Entschuldigung für mein schlechtes Englisch, ich bin Italiener.

+0

finden Sie hier: http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters –

Antwort

0

Sie können mehrere Layouts für mehrere Gerätekonfigurationen verwenden, indem Sie Konfigurationsqualifizierer verwenden.

Android unterstützt mehr Konfigurations-Qualifikation, die Sie Kontrolle ermöglichen, wie das System Ihrer alternativen Ressourcen wählt auf der Grundlage der Eigenschaften des aktuellen Gerät Bildschirm. Ein Konfigurationsqualifikator ist eine Zeichenfolge, die Sie an ein Ressourcenverzeichnis in Ihrem Android-Projekt anhängen können und legt die Konfiguration fest, für die die Ressourcen im Inneren ausgelegt sind.

Sie haben so etwas wie:

  • Liste Artikel Layout/home_layout.xml (für Handys)

  • Liste item Layout-xlarge/home_layout.xml (für größere Geräte)

http://developer.android.com/intl/es/guide/practices/screens_support.html#qualifiers

+0

Danke, es funktioniert jetzt. Ich war mir sicher, dass es ein einfaches Problem zu lösen war, aber ich konnte die Antwort nirgends finden. –

0

Verwenden Sie einen Layoutdateinamen. Zum Beispiel home_layout.xml. Dies wird Ihr Telefonlayout sein. Um nun ein anderes Layout für ein Tablet zu erstellen, klicken Sie in Android Studio mit der rechten Maustaste auf den Layoutordner und wählen Sie Neu>Layout-Ressourcendatei. Benennen Sie diese Datei mit demselben Namen (home_layout), und wählen Sie unter Verfügbare Qualifizierer aus, wie Sie bestimmen, was ein Tablet ist. Zum Beispiel können Sie wählen, wenn eine Breite 600 dpi überschreitet. Wie unten zu sehen:

enter image description here

Wenn Sie setContentView einfach wie folgt:

setContentView(R.layout.home_layout); 

Und das richtige Layout wird in diesem Fall auf der Grundlage der Breite des Gerätes gewählt werden.

Verwandte Themen