Xamarin.Android LinearLayout
LinearLayout
jest ViewGroup
wyświetla element podrzędny View
elementy w kierunku liniowym, pionowo lub poziomo.
Należy zachować ostrożność przy użyciu polecenia LinearLayout
.
Jeśli zaczniesz zagnieżdżać wiele LinearLayout
s, warto rozważyć użycie elementu RelativeLayout
Zamiast.
Uruchom nowy projekt o nazwie HelloLinearLayout.
Otwórz plik Resources/Layout/Main.axml i wstaw następujące elementy:
<?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>
Dokładnie sprawdź ten kod XML. Istnieje katalog główny LinearLayout
definiujący jego orientację w pionie — wszystkie elementy podrzędne View
(z których ma dwa) zostaną ułożone w pionie. Pierwsze dziecko jest innym LinearLayout
który używa orientacji poziomej, a drugie podrzędne jest LinearLayout
używa orientacji pionowej. Każdy z tych zagnieżdżonych LinearLayout
elementów zawiera kilka TextView
elementy, które są ze sobą zorientowane w sposób zdefiniowany przez ich element nadrzędny LinearLayout
.
Teraz otwórz HelloLinearLayout.cs i upewnij się, że ładuje on układ Resources/Layout/Main.axml w pliku OnCreate()
Metoda:
protected override void OnCreate (Bundle savedInstanceState)
{
base.OnCreate (savedInstanceState);
SetContentView (Resource.Layout.Main);
}
Metoda SetContentView(int)
) ładuje plik układu dla Activity
elementu , określony przez identyfikator zasobu — Resources.Layout.Main
odwołuje się do pliku układu Resources/Layout/Main.axml .
Uruchom aplikację. Powinien zostać wyświetlony następujący ekran:
Zwróć uwagę, że atrybuty XML definiują zachowanie każdego widoku. Spróbuj poeksperymentować z różnymi wartościami, android:layout_weight
aby zobaczyć, jak nieruchomości ekranu są dystrybuowane na podstawie wagi każdego elementu. Aby uzyskać więcej informacji na temat sposobu, zobacz dokument Common Layout Objects (Wspólne obiekty układu)LinearLayout
android:layout_weight
obsługuje atrybut .
Informacje
Części tej strony to modyfikacje oparte na pracy utworzonej i udostępnionej przez projekt open source systemu Android i używane zgodnie z warunkami opisanymi w licencji autorstwa Creative Commons 2.5.