Xamarin.Android LinearLayout
LinearLayout
ist einViewGroup
das untergeordnete Element anzeigtView
Elemente in linearer Richtung, entweder vertikal oder horizontal.
Sie sollten bei der übermäßigen Verwendung von LinearLayout
vorsichtig sein.
Wenn Sie mit dem Verschachteln mehrerer LinearLayout
s beginnen, sollten Sie die Verwendung einerRelativeLayout
Statt.
Starten Sie ein neues Projekt mit dem Namen HelloLinearLayout.
Öffnen Sie Resources/Layout/Main.axml , und fügen Sie Folgendes ein:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation= "vertical"
android:layout_width= "match_parent"
android:layout_height= "match_parent" >
<LinearLayout
android:orientation= "horizontal"
android:layout_width= "match_parent"
android:layout_height= "match_parent"
android:layout_weight= "1" >
<TextView
android:text= "red"
android:gravity= "center_horizontal"
android:background= "#aa0000"
android:layout_width= "wrap_content"
android:layout_height= "match_parent"
android:layout_weight= "1" />
<TextView
android:text= "green"
android:gravity= "center_horizontal"
android:background= "#00aa00"
android:layout_width= "wrap_content"
android:layout_height= "match_parent"
android:layout_weight= "1" />
<TextView
android:text= "blue"
android:gravity= "center_horizontal"
android:background= "#0000aa"
android:layout_width= "wrap_content"
android:layout_height= "match_parent"
android:layout_weight= "1" />
<TextView
android:text= "yellow"
android:gravity= "center_horizontal"
android:background= "#aaaa00"
android:layout_width= "wrap_content"
android:layout_height= "match_parent"
android:layout_weight= "1" />
</LinearLayout>
<LinearLayout
android:orientation= "vertical"
android:layout_width= "match_parent"
android:layout_height= "match_parent"
android:layout_weight= "1" >
<TextView
android:text= "row one"
android:textSize= "15pt"
android:layout_width= "match_parent"
android:layout_height= "wrap_content"
android:layout_weight= "1" />
<TextView
android:text= "row two"
android:textSize= "15pt"
android:layout_width= "match_parent"
android:layout_height= "wrap_content"
android:layout_weight= "1" />
<TextView
android:text= "row three"
android:textSize= "15pt"
android:layout_width= "match_parent"
android:layout_height= "wrap_content"
android:layout_weight= "1" />
<TextView
android:text= "row four"
android:textSize= "15pt"
android:layout_width= "match_parent"
android:layout_height= "wrap_content"
android:layout_weight= "1" />
</LinearLayout>
</LinearLayout>
Überprüfen Sie diesen XML-Code sorgfältig. Es gibt einen Stamm.LinearLayout
, die seine Ausrichtung als vertikal definiert– alle untergeordneten View
s (von denen es zwei hat) werden vertikal gestapelt. Das erste Kind ist ein weiteres Kind.LinearLayout
, die eine horizontale Ausrichtung verwendet, und das zweite untergeordnete Element ist einLinearLayout
, die eine vertikale Ausrichtung verwendet. Jedes dieser geschachtelten LinearLayout
s enthält mehrereTextView
-Elemente, die in der durch ihr übergeordnetes LinearLayout
-Element definierten Weise miteinander ausgerichtet sind.
Öffnen Sie nun HelloLinearLayout.cs , und stellen Sie sicher, dass das Layout Resources/Layout/Main.axml imOnCreate()
-Methode:
protected override void OnCreate (Bundle savedInstanceState)
{
base.OnCreate (savedInstanceState);
SetContentView (Resource.Layout.Main);
}
Die SetContentView(int)
) -Methode lädt die Layoutdatei für , die Activity
durch die Ressourcen-ID angegeben wird – Resources.Layout.Main
bezieht sich auf die Layoutdatei Resources/Layout/Main.axml .
Führen Sie die Anwendung aus. Daraufhin sollte Folgendes angezeigt werden:
Beachten Sie, wie die XML-Attribute das Verhalten jeder Ansicht definieren. Experimentieren Sie mit verschiedenen Werten android:layout_weight
, um zu sehen, wie die Bildschirmimmobilie basierend auf der Gewichtung der einzelnen Elemente verteilt wird. Weitere Informationen dazu finden Sie im Dokument Allgemeine Layoutobjekte .LinearLayout
behandelt das android:layout_weight
-Attribut.
Referenzen
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source-Projekt erstellt und freigegeben wurden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.