it-swarm.com.de

Was sind die Unterschiede zwischen LinearLayout, RelativeLayout und AbsoluteLayout?

Ich bin verwirrt über den Unterschied zwischen LinearLayout, RelativeLayout und AbsoluteLayout. Könnte mir jemand bitte die genauen Unterschiede zwischen ihnen erklären?

171
ezhil

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

RelativeLayout bedeutet, basierend auf der Beziehung der Ansichten seiner Eltern und anderer Ansichten.

ConstraintLayout ähnelt einem RelativeLayout insofern, als es Relationen für die Position und Größe von Widgets verwendet, aber 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, können wir wie Karten innerhalb eines Rahmens ein Kind übereinander oder irgendwo innerhalb des Rahmens platzieren.

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

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

199
Ganapathy C

Definitionen:

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

Weitere Informationen:

FrameLayout

FrameLayout dient dazu, einen Bereich auf dem Bildschirm auszublenden, um ein einzelnes Element anzuzeigen. Im Allgemeinen sollte FrameLayout zum Speichern einer einzelnen untergeordneten Ansicht verwendet werden, 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 im FrameLayout steuern, indem Sie jedem untergeordneten Element die Schwerkraft zuweisen. Verwenden Sie dazu Android:layout_gravity Attribut.

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

RelativeLayout

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

(Aktuelle Dokumente hier )

TableLayout

Ein TableLayout besteht aus einer Reihe von TableRow Objekten, die jeweils eine Zeile definieren (tatsächlich können Sie andere untergeordnete Objekte haben, was weiter unten erläutert wird). 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 View-Objekt enthalten. Die Tabelle enthält so viele Spalten wie die Zeile mit den meisten Zellen. Eine Tabelle kann Zellen leer lassen. Zellen können wie in HTML Spalten umfassen.

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


Hinweis : Absolutes Layout ist veraltet.

48
Devrath

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

RelativeLayout: Hiermit können Sie die Position der untergeordneten Objekte relativ zueinander (Kind A links von Kind B) oder zum übergeordneten Objekt (ausgerichtet) angeben an die Spitze des Elternteils). Es basiert auf dem Verhältnis von Ansichten seiner Eltern und anderen 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

4

LinearLayout - In LinearLayout werden Ansichten entweder vertikal oder horizontal angeordnet.

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 Support-Bibliothek für Android=) eingeführt wurde. Sie verhält sich wie FrameLayout und verfügt beispielsweise über zahlreiche Funktionen zum Koordinieren der untergeordneten Ansichten , Floating Button und Snackbar, Toolbar mit scrollbarer Ansicht.

4
Tulsi

Gute 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 Benutzeroberflächenelemente anhand bestimmter Regeln anordnen. Sie können Regeln festlegen, wie: Richten Sie diese am linken Rand des übergeordneten Elements aus, platzieren Sie diese links/rechts von diesem Element usw.

AbsoluteLayout dient zur absoluten Positionierung, d. H. Sie können genaue Koordinaten angeben, in die die Ansicht verschoben werden soll.

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

2
taha027