Was sind die Unterschiede zwischen LinearLayout, RelativeLayout und AbsoluteLayout?

Antworten:

213

LinearLayout bedeutet, dass Sie Ansichten einzeln (vertikal / horizontal) ausrichten können.

RelativeLayout bedeutet basierend auf dem Verhältnis der Ansichten seiner Eltern und anderer Ansichten.

ConstraintLayout ähnelt einem RelativeLayout dahingehend, dass es Relationen zum Positionieren und Größen von Widgets verwendet, jedoch zusätzliche Flexibilität bietet und im Layout-Editor einfacher zu verwenden ist.

WebView zum Laden von HTML-, statischen oder dynamischen Seiten.

FrameLayout Um ein Kind übereinander zu laden, wie Karten in einem Rahmen, können wir eines übereinander oder irgendwo im Rahmen platzieren.

veraltet - AbsoluteLayout bedeutet, dass Sie die genaue Position angeben müssen, an der sich die Ansicht befinden soll.

Weitere Informationen finden Sie unter https://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts

Ganapathy C.
quelle
2
Überprüfen Sie diesen Link auch Kumpel .. mobiforge.com/designing/story/…
Ganapathy C
2
AbsoluteLayout ist veraltet!
Braten Sie
3
@Fry ich antwortete dies vor 2 Jahren. Bitte lesen Sie die Frage.
Ganapathy C
Anscheinend AbsoluteLayoutist aus einem Grund veraltet; Wenn der Inhalt nicht passt, werden die Dinge zufällig herumgeworfen. Sie sind besser dran mit einem LinearLayoutund stellen alle seine Polster auf ein 0.
EpicPandaForce
50

Definitionen:

  • Rahmenlayout: Hiermit wird ein Bereich auf dem Bildschirm blockiert, in dem ein einzelnes Element angezeigt wird.
  • Lineares Layout: Ein Layout, das seine untergeordneten Elemente in einer einzelnen Spalte oder einer einzelnen Zeile anordnet.
  • Relatives Layout: Dieses Layout ist eine Ansichtsgruppe, die untergeordnete Ansichten an relativen Positionen anzeigt.
  • Tabellenlayout: Ein Layout, das seine untergeordneten Elemente in Zeilen und Spalten anordnet.

Mehr Informationen:

FrameLayout

FrameLayout blockiert einen Bereich auf dem Bildschirm, um ein einzelnes Element anzuzeigen. Im Allgemeinen sollte FrameLayout verwendet werden, um eine einzelne untergeordnete Ansicht zu speichern, da es schwierig sein kann, untergeordnete Ansichten so zu organisieren, dass sie auf verschiedene Bildschirmgrößen skalierbar sind, ohne dass sich die untergeordneten Ansichten überlappen. Sie können einem FrameLayout jedoch mehrere untergeordnete Elemente hinzufügen und deren Position innerhalb des FrameLayout steuern, indem Sie jedem untergeordneten Element mithilfe des android:layout_gravityAttributs die Schwerkraft zuweisen .

Untergeordnete Ansichten werden in einem Stapel gezeichnet, wobei das zuletzt hinzugefügte untergeordnete Element oben liegt. Die Größe des FrameLayout entspricht der Größe seines größten untergeordneten Elements (plus Auffüllung), ob sichtbar oder nicht (sofern das übergeordnete Element des FrameLayout dies zulässt).

RelativeLayout

Ein RelativeLayout ist ein sehr leistungsfähiges Dienstprogramm zum Entwerfen einer Benutzeroberfläche, da es verschachtelte Ansichtsgruppen entfernen und Ihre Layouthierarchie flach halten kann, was die Leistung verbessert. Wenn Sie mehrere verschachtelte LinearLayout-Gruppen verwenden, können Sie diese möglicherweise durch ein einzelnes RelativeLayout ersetzen.

(Aktuelle Dokumente hier )

TableLayout

Ein TableLayout besteht aus einer Reihe von TableRowObjekten, die jeweils eine Zeile definieren (tatsächlich können Sie andere untergeordnete Objekte haben, die im Folgenden erläutert werden). TableLayout-Container zeigen keine Rahmenlinien für ihre Zeilen, Spalten oder Zellen an. Jede Zeile enthält null oder mehr Zellen. Jede Zelle kann ein Ansichtsobjekt enthalten. Die Tabelle enthält so viele Spalten wie die Zeile mit den meisten Zellen. Eine Tabelle kann Zellen leer lassen. Zellen können Spalten wie in HTML überspannen.

Die Breite einer Spalte wird durch die Zeile mit der breitesten Zelle in dieser Spalte definiert.


Hinweis : Das absolute Layout ist veraltet.

Devrath
quelle
4

LinearLayout: Ein Layout, das seine untergeordneten Elemente in einer einzelnen horizontalen oder vertikalen Reihe organisiert. Es wird eine Bildlaufleiste erstellt, wenn die Länge des Fensters die Länge des Bildschirms überschreitet. Dies bedeutet, dass Sie Ansichten einzeln (vertikal / horizontal) ausrichten können.

RelativeLayout: Hiermit können Sie die Position von untergeordneten Objekten relativ zueinander (untergeordnetes Objekt A links von untergeordnetem Element B) oder zum übergeordneten Objekt (ausgerichtet am oberen Rand des übergeordneten Objekts) angeben. Es basiert auf dem Verhältnis der Ansichten seiner Eltern und anderer Ansichten.

WebView: Zum Laden von HTML- , statischen oder dynamischen Seiten.

Weitere Informationen finden Sie unter folgendem Link: http://developer.android.com/guide/topics/ui/layout-objects.html

Raghvendra Tolia
quelle
4

LinearLayout - In LinearLayout werden Ansichten entweder in vertikaler oder horizontaler Ausrichtung organisiert.

RelativeLayout - RelativeLayout ist viel komplexer als LinearLayout und bietet daher viel mehr Funktionen. Ansichten werden, wie der Name schon sagt, relativ zueinander platziert.

FrameLayout - Es verhält sich wie ein einzelnes Objekt und seine untergeordneten Ansichten überlappen sich. FrameLayout hat die Größe des größten untergeordneten Elements.

Koordinatorlayout - Dies ist die leistungsstärkste ViewGroup, die in der Android-Supportbibliothek eingeführt wurde. Es verhält sich wie FrameLayout und verfügt über zahlreiche Funktionen, die zwischen den untergeordneten Ansichten koordiniert werden können, z. B. schwebende Schaltflächen und Snackbar, Symbolleiste mit scrollbarer Ansicht.

Tulsi
quelle
2

Tolle Erklärung hier:
https://www.cuelogic.com/blog/using-framelayout-for-designing-xml-layouts-in-android

LinearLayout ordnet Elemente horizontal oder vertikal nebeneinander an.

Mit RelativeLayout können Sie Ihre UI-Elemente nach bestimmten Regeln anordnen. Sie können Regeln festlegen wie: Richten Sie diese am linken Rand des Elternteils aus, platzieren Sie diese links / rechts von diesen Elementen usw.

AbsoluteLayout dient zur absoluten Positionierung, dh Sie können genaue Koordinaten angeben, wohin die Ansicht gehen soll.

FrameLayout ermöglicht die Platzierung von Ansichten entlang der Z-Achse. Das heißt, Sie können Ihre Ansichtselemente übereinander stapeln.

taha027
quelle