Übersicht der Layouts
Nachdem wir zuvor ein Android Projekt erstellt haben und eine Hello World Applikation erstellt und ausgeführt haben, wollen wir mit den Grundlagen weiter fortfahren.
Eine der wichtigsten Entscheidungen bei der Entwicklung von Anwendungen ist die Wahl des richtigen Layouts.
Android bietet dem ambitionierten Entwickler eine Vielzahl an Möglichkeiten. Ich möchte Euch die wichtigsten vorstellen und kurz erläutern. Dadurch sollt Ihr einen Überblick bekommen, welchen View, bzw. welche Komponente Ihr für Euer Projekt benötigt.
Man sollte beachten, dass man sowohl in den XML-Layouts als auch zur Laufzeit die Eigenschaften der Layouts, bzw. deren Komponenten ändern kann. Hierbei gibt es meist nahezu gleichlautende Methoden:
- z.B. Ausrichtung von Layouts: in der Java-Klasse selbst "setOrientation()", in der XML-Datei "android:orientation"
Manche Eigenschaften sind allerdings auch etwas umständlicher im Code zu setzen, weshab Ihr der Übersicht halber am besten so viel wie möglich im XML-Code angeben solltet.
Layouts
Bevor wir über Buttons etc nachdenken, benötigen wir erst einmal ein korrektes Layout. Ich werde die Layouts mit den bereits bekannten Textfeldern veranschaulichen. Den Quellcode erhalten Ihr per Klick auf das entsprechende Bild.
Das LinearLayout ist ein Layout, das seine Kindkomponenten (also die Objekte, die sich innerhalb des LinearLayouts befinden), entweder zeilen- oder spaltenweise ausrichtet.
Man hat hier - wie oben beschrieben - die Möglichkeit, die Ausrichtung vertikal oder horizontal anzugeben.
Das RelativeLayout ermöglicht es, die Positionierung der Komponenten relativ zu den Geschwister-, bzw. Eltern-Komponenten anzugeben.
Das FrameLayout dient als Platzhalter auf dem Bildschirm. Man kann es dazu benutzen, einen einzelnen View anzuzeigen. Sind mehrere Views im FrameLayout definiert, werden alle (sofern nicht anders ausgerichtet), links oben im Layout gepinnt.
Dieses Layout lässt sich durch die Angabe von absoluten Positionen verwenden. Ich gehe allerdings nicht weiter darauf ein, da sie mittlerweile deprecated ist. Die absolute Positionierung ist schlecht zu warten und ungeeignet für verschiedene Displayauflösungen.
Im FrameLayout Beispiel habe ich zur Veranschaulichung ein AbsoluteLayout integriert.
Das TabeLayout ordnet seine Kindelemente in Zeilen und Spalten an. Die Zeilen, bzw. Spalten besitzen keine sichtbaren Ränder oder Grenzen.
Hiermit lassen sich schnell und einfach Tabellen erzeugen.
|
LinearLayout (API) |
RelativeLayout (API) |
![]() |
![]() |
FrameLayout (API) |
TableLayout (API) |
![]() |
![]() |
| Kommentare |
|




