Welche Layouts gibt es bei Android?
In Android gibt es mehrere Layouts zum Organisieren und Positionieren von UI-Elementen, um unterschiedliche Interface-Layout-Effekte zu erzielen. Im Folgenden sind einige Layouts aufgeführt, die häufig in Android verwendet werden:
-
LinearLayout (lineares Layout):
LinearLayout
ist das einfachste Layout, das Unteransichten horizontal oder vertikal anordnet.android:orientation
Sie können die Anordnungsrichtung über Attribute alshorizontal
(horizontal) odervertical
(vertikal) festlegen. -
RelativeLayout:
RelativeLayout
Ermöglicht die Positionierung von Unteransichten relativ zu ihrer übergeordneten Ansicht oder anderen Unteransichten. Durch die Angabe der relativen Beziehung zwischen Ansichten können flexible Layouteffekte erzielt werden. -
FrameLayout:
FrameLayout
Stapelt Unteransichten zusammen, wobei jede Unteransicht oben liegt. Wird häufig verwendet, um die Anzeige zu überlagern oder die Ansicht zu wechseln. -
ConstraintLayout (Einschränkungslayout):
ConstraintLayout
Es handelt sich um ein flexibles und leistungsstarkes Layout, das komplexe Schnittstellenlayouts realisieren kann. Es verwendet Einschränkungen, um Unteransichten relativ zu einer übergeordneten Ansicht oder anderen Unteransichten zu positionieren. -
TableLayout (Tabellenlayout):
TableLayout
Sie können Unteransichten in einer Tabellenform organisieren, ähnlich dem HTML-Tabellenlayout. Es enthält mehrereTableRow
, von denen jedeTableRow
mehrere Unteransichten enthält. -
GridLayout:
GridLayout
Organisiert Unteransichten in einem Raster, ähnlich dem Tabellenlayout. Die Zeilen- und Spaltenpositionen von Unteransichten können überandroid:layout_row
die Eigenschaften und angegeben werden .android:layout_column
-
CoordinatorLayout (koordiniertes Layout):
CoordinatorLayout
ist ein spezielles Layout, das zur Verarbeitung koordinierter Aktionen zwischen Unteransichten verwendet wird. Es wird häufig verwendet, um einige komplexe interaktive Effekte zu implementieren, z. B. die Ansichtskoordination beim Scrollen. -
ScrollView (Scroll-Layout):
ScrollView
Ermöglicht das Scrollen, wenn der Ansichtsinhalt den Bildschirm überschreitet. Es kann nur eine direkte Unteransicht enthalten. -
ConstraintSet:
ConstraintSet
istConstraintLayout
eine Klasse, die zum dynamischen Ändern von Einschränkungen verwendet wird. Sie könnenConstraintSet
das Schnittstellenlayout zur Laufzeit ändern.
Hierbei handelt es sich um verschiedene Layouts, die häufig in Android verwendet werden. Jedes Layout weist unterschiedliche Eigenschaften und Verwendungszwecke auf. Entwickler können das entsprechende Layout auswählen, um die Anwendungsoberfläche entsprechend den tatsächlichen Anforderungen zu entwerfen und zu erstellen.
Das Folgende ist ein einfaches Android-Codebeispiel, das zeigt, wie unterschiedliche Layouts verwendet werden, um unterschiedliche Schnittstellenlayouteffekte zu erzielen. In diesem Beispiel erstellen wir eine einfache Anmeldeschnittstelle und verwenden LinearLayout
, RelativeLayout
und ConstraintLayout
um verschiedene Layouts zu implementieren.
- Verwenden Sie das LinearLayout-Layout:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"
android:inputType="textPassword" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录" />
</LinearLayout>
- Verwenden Sie das RelativeLayout-Layout:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<EditText
android:id="@+id/etUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名" />
<EditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"
android:inputType="textPassword"
android:layout_below="@id/etUsername" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录"
android:layout_below="@id/etPassword" />
</RelativeLayout>
- Verwenden Sie das ConstraintLayout-Layout:
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<EditText
android:id="@+id/etUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"
android:inputType="textPassword"
app:layout_constraintTop_toBottomOf="@id/etUsername" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录"
app:layout_constraintTop_toBottomOf="@id/etPassword" />
</androidx.constraintlayout.widget.ConstraintLayout>
In diesem Beispiel verwenden wir LinearLayout
, RelativeLayout
bzw. ConstraintLayout
um eine Login-Schnittstelle zu implementieren. Alle drei Layoutmethoden können den gleichen Schnittstelleneffekt erzielen, der zugrunde liegende Layoutmechanismus und die Codestruktur sind jedoch unterschiedlich. In der tatsächlichen Entwicklung kann die geeignete Layoutmethode basierend auf der Komplexität der Schnittstelle und den Designanforderungen ausgewählt werden.