Xamarin.Forms Samouczek dotyczący siatki
Zanim podejmiesz próbę ukończenia tego samouczka, musisz pomyślnie ukończyć następujące szkolenia:
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Utwórz element Xamarin.Forms
Grid
w języku XAML. - Określanie kolumn i wierszy dla obiektu
Grid
. - Umieszczanie zawartości w wielu kolumnach lub wielu wierszach w obiekcie
Grid
.
Użyjesz programu Visual Studio 2019 lub Visual Studio dla komputerów Mac, aby utworzyć prostą aplikację, która pokazuje, jak określić układ kontrolek w elemencie Grid
. Na poniższych zrzutach ekranu przedstawiono ostateczną wersję aplikacji:
Użyjesz również Przeładowywanie na gorąco XAML, Xamarin.Forms aby zobaczyć zmiany interfejsu użytkownika bez ponownego kompilowania aplikacji.
Tworzenie obiektu grid
Grid
to układ, w którym elementy podrzędne są organizowane w wiersze i kolumny o rozmiarach proporcjonalnych lub bezwzględnych. Domyślnie układ Grid
zawiera jeden wiersz i jedną kolumnę.
Do ukończenia tego samouczka jest potrzebny program Visual Studio 2019 (najnowsza wersja) z zainstalowanym pakietem roboczym Opracowywanie aplikacji mobilnych za pomocą środowiska .NET. Ponadto będzie potrzebny sparowany komputer Mac w celu kompilowania aplikacji samouczka w systemie iOS. Aby uzyskać informacje na temat instalowania platformy Xamarin, zobacz Instalowanie platformy Xamarin. Aby uzyskać informacje na temat łączenia programu Visual Studio 2019 z hostem kompilacji Mac, zobacz Parowanie z komputerem Mac w celu opracowywania aplikacji platformy Xamarin.iOS.
Uruchom program Visual Studio i utwórz nową pustą Xamarin.Forms aplikację o nazwie GridTutorial.
Ważne
Fragmenty kodu w języku C# i XAML w tym samouczku wymagają, aby rozwiązanie miało nazwę GridTutorial. Użycie innej nazwy spowoduje błędy kompilacji po skopiowaniu kodu z tego samouczka do rozwiązania.
Aby uzyskać więcej informacji na temat tworzonej biblioteki .NET Standard, zobacz Anatomia Xamarin.Forms aplikacji w przewodnikuXamarin.Forms Szybki start — szczegółowe omówienie.
W Eksploratorze rozwiązań w projekcie GridTutorial kliknij dwukrotnie plik MainPage.xaml, aby go otworzyć. Następnie w pliku MainPage.xaml usuń cały kod szablonu i zastąp go następującym kodem:
<?xml version="1.0" encoding="utf-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="GridTutorial.MainPage"> <Grid Margin="20,35,20,20"> <Label Text="The Grid has its Margin property set, to control the rendering position of the Grid." /> </Grid> </ContentPage>
Ten kod deklaratywnie definiuje interfejs użytkownika dla strony, która składa się z obiektu
Label
w obiekcieGrid
. Domyślnie obiektGrid
umieszcza widoki podrzędne w obrębie jednej lokalizacji. W związku z tym obiektGrid
zawierający wiele elementów podrzędnych powinien określać kolumny i wiersze, które zostaną omówione w następnym ćwiczeniu. Ponadto właściwośćMargin
wskazuje miejsce renderowania obiektuGrid
w ramach obiektuContentPage
.Uwaga
Oprócz właściwości
Margin
w obiekcieGrid
można również ustawić właściwośćPadding
. Wartość właściwościPadding
określa odległość między granicami elementuGrid
a jego elementami podrzędnymi. Aby uzyskać więcej informacji, zobacz Margines i wypełnienie.Na pasku narzędzi programu Visual Studio naciśnij przycisk Uruchom (trójkątny przycisk przypominający przycisk odtwarzania), aby uruchomić aplikację w ramach wybranego zdalnego symulatora systemu iOS lub emulatora systemu Android:
Aby uzyskać więcej informacji na temat obiektu , zobaczXamarin.Forms Siatka
Grid
.
Określanie kolumn i wierszy
W pliku MainPage.xaml zmodyfikuj deklarację obiektu
Grid
, aby zdefiniować kolumny i wiersze, a następnie umieść zawartość w kolumnach i wierszach:<Grid Margin="20,35,20,20"> <Grid.ColumnDefinitions> <ColumnDefinition Width="0.5*" /> <ColumnDefinition Width="0.5*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="50" /> <RowDefinition Height="50" /> </Grid.RowDefinitions> <Label Text="Column 0, Row 0" /> <Label Grid.Column="1" Text="Column 1, Row 0" /> <Label Grid.Row="1" Text="Column 0, Row 1" /> <Label Grid.Column="1" Grid.Row="1" Text="Column 1, Row 1" /> </Grid>
Ten kod definiuje kolumny oraz wiersze dla obiektu
Grid
i umieszcza wystąpienia obiektuLabel
w określonych kolumnach i wierszach. Dane kolumn i wierszy są przechowywane we właściwościachColumnDefinitions
iRowDefinitions
, które są odpowiednio kolekcjami obiektówColumnDefinition
iRowDefinition
. Szerokość każdego obiektuColumnDefinition
jest ustawiana za pomocą właściwościColumnDefinition.Width
, a wysokość każdego obiektuRowDefinition
— za pomocą właściwościRowDefinition.Height
. Prawidłowe wartości szerokości i wysokości to:- Wartość
Auto
, która określa rozmiar kolumny lub wiersza w celu dopasowania go do zawartości. - Wartości proporcjonalne, które określają rozmiar kolumn i wierszy proporcjonalnie do pozostałego miejsca. Wartości proporcjonalne kończą się znakiem
*
. - Wartości bezwzględne, które określają rozmiar kolumn i wierszy przy użyciu określonych wartości stałych.
Dlatego w powyższym kodzie każda kolumna ma połowę szerokości obiektu
Grid
, a każdy wiersz ma wysokość 50 jednostek niezależnych od urządzenia.Położenie każdego obiektu
Label
w obiekcieGrid
jest określane za pomocą dołączonych właściwościGrid.Column
iGrid.Row
przy użyciu indeksu liczonego od zera. W związku z tym pierwsza kolumna to kolumna 0, a pierwszy wiersz to wiersz 0. Pierwszy obiektLabel
nie ma tych dołączonych właściwości, ponieważ wszystkie widoki podrzędne, które ich nie ustawiają, będą automatycznie renderowane w kolumnie 0 i wierszu 0.Uwaga
Odstępy między kolumnami i wierszami w obiekcie
Grid
można ustawić za pomocą właściwościColumnSpacing
iRowSpacing
. Aby uzyskać więcej informacji, zobacz Odstępy w przewodniku Xamarin.Forms siatki .- Wartość
Jeśli aplikacja nadal działa, zapisz zmiany w pliku, a interfejs użytkownika aplikacji zostanie automatycznie zaktualizowany w symulatorze lub w emulatorze. W przeciwnym razie na pasku narzędzi programu Visual Studio naciśnij przycisk Uruchom (trójkątny przycisk przypominający przycisk odtwarzania), aby uruchomić aplikację w wybranym zdalnym symulatorze systemu iOS lub emulatorze systemu Android:
Rozmieszczanie wielu kolumn lub wierszy
W pliku MainPage.xaml zmodyfikuj deklarację obiektu
Grid
, aby zdefiniować kolumny i wiersze, a następnie umieść zawartość, która będzie obejmować kolumny i wiersze:<Grid Margin="20,35,20,20"> <Grid.ColumnDefinitions> <ColumnDefinition Width="0.5*" /> <ColumnDefinition Width="0.5*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="50" /> <RowDefinition Height="30" /> <RowDefinition Height="30" /> </Grid.RowDefinitions> <Label Grid.ColumnSpan="2" Text="This text uses the ColumnSpan property to span both columns." /> <Label Grid.Row="1" Grid.RowSpan="2" Text="This text uses the RowSpan property to span two rows." /> </Grid>
Ten kod definiuje kolumny oraz wiersze dla obiektu
Grid
i umieszcza wystąpienia obiektuLabel
w określonych kolumnach i wierszach. Pierwszy obiektLabel
ustawia dołączoną właściwośćColumnSpan
, aby tekst obejmował wiele kolumn. WłaściwościColumnSpan
jest ustawiona na wartość 2, która reprezentuje liczbę kolumn, które będzie obejmować obiektLabel
. Drugi obiektLabel
ustawia dołączoną właściwośćRowSpan
, aby tekst obejmował wiele wierszy. WłaściwościRowSpan
jest ustawiona na wartość 2, która reprezentuje liczbę wierszy, które będzie obejmować obiektLabel
.Jeśli aplikacja nadal działa, zapisz zmiany w pliku, a interfejs użytkownika aplikacji zostanie automatycznie zaktualizowany w symulatorze lub w emulatorze. W przeciwnym razie na pasku narzędzi programu Visual Studio naciśnij przycisk Uruchom (trójkątny przycisk przypominający przycisk odtwarzania), aby uruchomić aplikację w ramach wybranego zdalnego symulatora systemu iOS lub emulatora systemu Android:
Zatrzymaj aplikację w programie Visual Studio.
Aby uzyskać więcej informacji na temat tworzenia kolumn i wierszy, zobacz Wiersze i kolumny w przewodniku SiatkaXamarin.Forms.
Gratulacje!
Gratulujemy ukończenia tego samouczka, w którym przedstawiono sposób wykonywania następujących czynności:
- Utwórz element Xamarin.Forms
Grid
w języku XAML. - Określanie kolumn i wierszy dla obiektu
Grid
. - Umieszczanie zawartości w wielu kolumnach lub wielu wierszach w obiekcie
Grid
.
Następne kroki
Aby dowiedzieć się więcej na temat podstaw tworzenia aplikacji mobilnych za pomocą Xamarin.Formsusługi , przejdź do samouczka CollectionView.
Pokrewne łącza
Widzisz problem w tej sekcji? W takim przypadku prześlij opinię, abyśmy mogli udoskonalić tę sekcję.