Das heißt man soll sie nicht mehr verwenden? Gibt es Alternativen (ein Layout für alle größe ist nahezu unmöglich)?
Wie auf der Seite (
Supporting Multiple Screens | Android Developers ) beschrieben wurde, wird unter Configuration Examples (
Supporting Multiple Screens | Android Developers ) erklärt, wie man Phones und Tablets aufteilen könnte.
Es stimmt nicht ganz, dass ein Layout für alle Grössen unmöglich ist. Verwende - wo möglich - Fragmente, die einzelne Teile deiner UI beschreiben. Dann musst du nur noch ein paar Gerätespezifische (Tablet/Phone) Layouts für die Activities schreiben, in die du die Fragmente einbettest und gut ist.
Wie gesagt: Ich habe nur ein paar sehr wenige spezielle Layouts in anderen "res/layout-*"-Verzeichnissen. Das Gros der Layouts befindet sich ausschliesslich in "res/layout".
Was für einen Aufwand meinst du?
Den Aufwand, den ganzen Kram mal aufzuräumen - so dass es am Ende auch noch funktioniert. Ich habe das zu einer Zeit gemacht, als mir dieses Prinzip auch noch recht spanisch vorkam...
Also Layout-landscape brauch ich nicht, es kann nur im Portrait modus angezeigt werden. Das spielt aber keine Rolle oder? Ich brauche trotzdem noch das Layout-Verzeichnis?
Der Anhang "-landscape" und "-portrait" ist nur notwendig, wenn du da wirklich unterschiedliche Layouts brauchst. Wenn deine UI sowieso auf Landscape festgelegt ist, musst du es nicht verwenden.
Wie kann man das einrichten dass die spezialisierung (auf größe) in den Ordnern erfolgt (small,large,...) aber ein Grundlayout schon vorgegeben ist (ich meine das mit dem "Ober"-Layout)?
Steht in dem Link drin. Dafür gibt es Layout-Verzeichnisse, wie etwa "layout-sw600dp" (als Bsp. für 7"-Tablets).
Und was ist wenn ich kein GrundLayout nutze (einfach nichts im "Layout"-Ordner") sondern nur die "Ober"-Layouts? Wird dann eventuell auf manchen Geräten nichts angezeigt oder gibt es einen Fehler? (Also ich meine ich nutze nur die large, small, ... Layout-Ordner)
Und Welche Geräte würden mir dann den Fehler ausgeben?
Die speziellen Unterordner sind eigentlich nur dafür da, spezielle UIs abzubilden. Bedenke, dass du bei kleinen Änderungen diese dann in X verschiedenen Layouts anpassen musst, als nur in einem einzigen. Fehler gibt dir kein Gerät aus - es sieht einfach nur scheis.se aus, wenn du ein Layout vergessen hast. Versuche einfach viel mit "Root"-Layouts und Fragmenten abzubilden und pass' gegebenenfalls deine styles ensprechend an (z.B. nicht die gleiche Text- oder Button-Höhe für alle Geräteklassen, etc.).
Layouting in Android ist aufgrund der vielen Geräte wirklich herausfordernd, aber, wenn man sich mit beschäftigt hat, auch keine Hexerei, sondern eher Fleissarbeit.
Ach so: Ich denke übrigens, dass (wenn ein spezielles Layout fehlt), immer auf ein fallback zurückgegangen wird - primär im layout-Verzeichnis. Wenn das fehlt, denke ich (ich weiss es aber nicht!), wird das von der nächsten Auflösungsstufe genommen. Wenn du 7" Tablets definiert hast, aber keine 10", denke ich also, dass er auf 7" zurückfällt. Savvy?