Layout für Tablets in Android

78

Ich möchte verschiedene Layouts für Tablets und Handys in Android erstellen. Wo soll ich die Layoutressourcen platzieren, um diese Unterscheidung vorzunehmen?

hpique
quelle

Antworten:

164

Ich weiß, dass dies eine alte Frage ist, aber deswegen ... Laut Dokumentation sollten Sie mehrere Asset-Ordner wie diesen erstellen

res/layout/main_activity.xml           # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)
urSus
quelle
Welche Layoutordner muss ich für Nexus 9- und Nexus 10-Geräte erstellen?
Dhaval Khant
Versuchen Sie, den Nexus 10-Inhalt in einen Ordner für sw800dp zu verschieben. Das Nexus 9 wird weiterhin seine Hinweise aus dem sw768dp-Ordner nehmen
Faisal Naseer
43

Wenn Sie das Fragment-Konzept im Code verwenden (bedeutet Multi-Pane-Layout), verwenden Sie am besten wdp anstelle von swdp

res/layout-w600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-w720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)
res/layout-w600dp-land/main_activity.xml   # For 7” tablets in landscape (600dp wide and                  bigger)
res/layout-w720dp-land/main_activity.xml   # For 10” tablets in landscape (720dp wide and bigger)

Informationen zum Verständnis von wdp finden Sie in der Tabelle

Table 2. New configuration qualifers for screen size (introduced in Android 3.2). Unter folgendem Link http://developer.android.com/guide/practices/screens_support.html

Sakthimuthiah
quelle
23

Ich glaube, dass Sie bei Layouts nur durch Folgendes unterscheiden können:

res/layout/my_layout.xml            // layout for normal screen size
res/layout-small/my_layout.xml      // layout for small screen size
res/layout-large/my_layout.xml      // layout for large screen size
res/layout-large-land/my_layout.xml // layout for large screen size in landscape mode

Weitere Informationen darüber, was Sie zur Ordnerstruktur hinzufügen können, um zwischen verschiedenen Einstellungen zu unterscheiden, finden Sie hier .

Das größte Problem ist, dass das Android SDK Tablets nicht wirklich offiziell integriert hat. Hoffentlich wird das in der nächsten Version von Android behoben. Andernfalls müssen Sie nur sicherstellen, dass Sie Skalierungslayouts verwenden, die für jede Bildschirmgröße geeignet sind.

Bryan Denny
quelle
Ich denke, das Problem betrifft nicht das SDK. Zum Beispiel hat das Telefon eine Bildschirmgröße von 480 x 800 HDPI, die für das Tablet-Layout ausreicht. Wenn Ihre App mit dem Tablet-Layout am besten funktioniert, benötigen Benutzer in diesem Fall kein Tablet und haben dennoch den Vorteil. Es ist also nicht erforderlich, Tablet / Telefon zu unterscheiden. Der Link, auf den Sie gezeigt haben, löst dies perfekt. Vielen Dank.
Dies wird unter Android 3.2
Lalit Sharma
4

Gemäß der Dokumentation sollten Sie mehrere Asset-Ordner wie diese erstellen. Vollständige Liste.

res/layout/main_activity.xml  // For handsets (smaller than 600dp available width)
res/layout/main_activity.xml  // For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml  // For 7” tablets (600dp wide and bigger) 
res/layout-sw720dp/main_activity.xml  // For 10” tablets (720dp wide and bigger)
res/layout-sw600dp-land/main_activity.xml  // For 7” tablets in landscape (600dp wide and bigger)
res/layout-sw720dp-land/main_activity.xml  // For 10” tablets in landscape (720dp wide and bigger)
jaigish
quelle
0

Diese Quelle bietet auch Informationen zum Aufrufen von Ressourcen basierend auf Gerätekonfigurationen wie Sprache, Bildschirmbreite / -höhe, Layoutrichtung, Bildschirmausrichtung usw.

Sie müssen vorsichtig sein, um eine Standardressource als Quelle zu erstellen, z. B. das Aufrufen von Symbolen hoher Qualität für Tablets.

Mohammad AlBanna
quelle
0

Das Dropdown-Menü "Ausrichtung für Vorschau" in Android Studio (siehe unten) kann dabei helfen, schnelle xmls für Quer- und Tablet-Layouts zu erstellen. Es werden auch separate Ordner erstellt, dh layout-landund layout-sw600dpfür diese Layoutvarianten, und die Layout-XMLs werden in diesen Ordnern abgelegt. Geben Sie hier die Bildbeschreibung ein

Nafeez Quraishi
quelle