Xamarin.Forms StackLayout Tutorial
Sebelum mencoba tutorial ini, Anda seharusnya berhasil menyelesaikan:
- Buat mulai cepat aplikasi pertama Xamarin.Forms Anda.
Dalam tutorial ini, Anda akan mempelajari cara:
- Buat Xamarin.Forms
StackLayout
di XAML. - Tentukan orientasi
StackLayout
. - Mengontrol perataan dan ekspansi tampilan anak dalam
StackLayout
.
Anda akan menggunakan Visual Studio 2019, atau Visual Studio untuk Mac, untuk membuat aplikasi sederhana yang menunjukkan cara menyelaraskan kontrol dalam StackLayout
. Cuplikan layar berikut menunjukkan aplikasi akhir:
Anda juga akan menggunakan XAML Hot Reload untuk Xamarin.Forms melihat perubahan UI tanpa membangun kembali aplikasi Anda.
Membuat tumpukan
StackLayout
adalah tata letak yang mengatur turunannya dalam tumpukan satu dimensi, baik secara horizontal maupun vertikal. Secara default, berorientasi StackLayout
vertikal.
Untuk menyelesaikan tutorial ini, Anda harus memiliki Visual Studio 2019 (rilis terbaru), dengan pengembangan Seluler dengan beban kerja .NET terinstal. Selain itu, Anda akan memerlukan Mac berpasangan untuk membangun aplikasi tutorial di iOS. Untuk informasi tentang menginstal platform Xamarin, lihat Menginstal Xamarin. Untuk informasi tentang menyambungkan Visual Studio 2019 ke host build Mac, lihat Memasangkan ke Mac untuk pengembangan Xamarin.iOS.
Luncurkan Visual Studio, dan buat aplikasi kosong Xamarin.Forms baru bernama StackLayoutTutorial.
Penting
Cuplikan C# dan XAML dalam tutorial ini mengharuskan solusi diberi nama StackLayoutTutorial. Menggunakan nama yang berbeda akan mengakibatkan kesalahan build saat Anda menyalin kode dari tutorial ini ke dalam solusi.
Untuk informasi selengkapnya tentang pustaka .NET Standard yang dibuat, lihat Anatomi aplikasiXamarin.Forms di Xamarin.Forms Mulai Cepat Deep Dive.
Di Penjelajah Solusi, dalam proyek StackLayoutTutorial, klik dua kali MainPage.xaml untuk membukanya. Kemudian, di MainPage.xaml, hapus semua kode templat dan ganti dengan kode berikut:
<?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="StackLayoutTutorial.MainPage"> <StackLayout Margin="20,35,20,25"> <Label Text="The StackLayout has its Margin property set, to control the rendering position of the StackLayout." /> <Label Text="The Padding property can be set to specify the distance between the StackLayout and its children." /> <Label Text="The Spacing property can be set to specify the distance between views in the StackLayout." /> </StackLayout> </ContentPage>
Kode ini secara deklaratif mendefinisikan antarmuka pengguna untuk halaman, yang terdiri dari tiga
Label
instans dalam .StackLayout
PosisiStackLayout
tampilan anaknya (Label
instans) dalam satu baris, yang berorientasi vertikal secara default. Selain itu,Margin
properti menunjukkan posisi penyajian dariStackLayout
dalamContentPage
.Catatan
Selain
Margin
properti ,Padding
danSpacing
properti juga dapat diatur padaStackLayout
. NilaiPadding
properti menentukan jarak antara tampilan dalamStackLayout
, danSpacing
nilai properti menentukan jumlah ruang antara setiap elemen turunanStackLayout
dalam . Untuk informasi selengkapnya, lihat Margin dan Padding.Di toolbar Visual Studio, tekan tombol Mulai (tombol segitiga yang mirip tombol Putar) untuk meluncurkan aplikasi di dalam simulator iOS jarak jauh yang Anda pilih atau emulator Android:
Untuk informasi selengkapnya tentang
StackLayout
, lihat Xamarin.Forms StackLayout.
Tentukan orientasi
Di MainPage.xaml, ubah
StackLayout
deklarasi sehingga menyelaraskan anak-anaknya secara horizontal, alih-alih secara vertikal:<StackLayout Margin="20,35,20,25" Orientation="Horizontal"> <Label Text="The StackLayout has its Margin property set, to control the rendering position of the StackLayout." /> <Label Text="The Padding property can be set to specify the distance between the StackLayout and its children." /> <Label Text="The Spacing property can be set to specify the distance between views in the StackLayout." /> </StackLayout>
Kode ini mengatur properti ke
Orientation
Horizontal
.Jika aplikasi masih berjalan, simpan perubahan pada file dan antarmuka pengguna aplikasi akan diperbarui secara otomatis di simulator atau emulator Anda. Jika tidak, di toolbar Visual Studio, tekan tombol Mulai (tombol segitiga yang menyerupan tombol Putar) untuk meluncurkan aplikasi di dalam simulator iOS jarak jauh yang Anda pilih atau emulator Android:
Perhatikan bahwa
Label
instans dalamStackLayout
sekarang selaras secara horizontal, bukan secara vertikal.
Mengontrol perataan dan ekspansi
Ukuran dan posisi tampilan anak dalam bergantung StackLayout
pada nilai tampilan HeightRequest
dan WidthRequest
properti anak, dan nilai HorizontalOptions
properti dan VerticalOptions
.
Properti HorizontalOptions
dan VerticalOptions
dapat diatur ke bidang dari LayoutOptions
struktur, yang merangkum dua preferensi tata letak:
- Perataan – perataan pilihan tampilan anak, yang menentukan posisi dan ukurannya dalam tata letak induknya.
- Ekspansi – menunjukkan apakah tampilan anak harus menggunakan ruang ekstra, jika tersedia (hanya digunakan oleh
StackLayout
).
Di MainPage.xaml, ubah
StackLayout
deklarasi untuk mengatur opsi perataan dan ekspansi untuk setiapLabel
:<StackLayout Margin="20,35,20,25"> <Label Text="Start" HorizontalOptions="Start" BackgroundColor="Gray" /> <Label Text="Center" HorizontalOptions="Center" BackgroundColor="Gray" /> <Label Text="End" HorizontalOptions="End" BackgroundColor="Gray" /> <Label Text="Fill" HorizontalOptions="Fill" BackgroundColor="Gray" /> <Label Text="StartAndExpand" VerticalOptions="StartAndExpand" BackgroundColor="Gray" /> <Label Text="CenterAndExpand" VerticalOptions="CenterAndExpand" BackgroundColor="Gray" /> <Label Text="EndAndExpand" VerticalOptions="EndAndExpand" BackgroundColor="Gray" /> <Label Text="FillAndExpand" VerticalOptions="FillAndExpand" BackgroundColor="Gray" /> </StackLayout>
Kode ini menetapkan preferensi perataan pada empat
Label
instans pertama, dan preferensi ekspansi pada empatLabel
instans akhir. BidangStart
,Center
,End
, danFill
digunakan untuk menentukan perataanLabel
instans dalam indukStackLayout
. BidangStartAndExpand
,CenterAndExpand
,EndAndExpand
, danFillAndExpand
digunakan untuk menentukan preferensi perataan, dan apakah tampilan akan menempati lebih banyak ruang jika tersedia dalam indukStackLayout
.Catatan
Nilai default properti dan
VerticalOptions
tampilanHorizontalOptions
adalahFill
.Jika aplikasi masih berjalan, simpan perubahan pada file dan antarmuka pengguna aplikasi akan diperbarui secara otomatis di simulator atau emulator Anda. Jika tidak, di toolbar Visual Studio, tekan tombol Mulai (tombol segitiga yang menyerupan tombol Putar) untuk meluncurkan aplikasi di dalam simulator iOS jarak jauh yang Anda pilih atau emulator Android:
Hanya
StackLayout
menghormati preferensi perataan pada tampilan anak yang berada di arah yang berlawanan denganStackLayout
orientasi. Oleh karena itu,Label
tampilan anak dalam properti yangHorizontalOptions
berorientasiStackLayout
vertikal diatur ke salah satu bidang perataan:Start
, yang memposisikanLabel
di sisiStackLayout
kiri .Center
, yang berpusatLabel
StackLayout
di .End
, yang memposisikanLabel
di sisiStackLayout
kanan .Fill
, yang memastikan bahwaLabel
mengisi lebarStackLayout
.
Hanya
StackLayout
dapat memperluas tampilan anak ke arah orientasinya. Oleh karena itu, berorientasiStackLayout
vertikal dapat memperluasLabel
tampilan anak yang mengatur propertinyaVerticalOptions
ke salah satu bidang ekspansi. Ini berarti bahwa, untuk perataan vertikal, masing-masingLabel
menempati jumlah ruang yang sama dalamStackLayout
. Namun, hanya finalLabel
, yang mengatur propertinyaVerticalOptions
untukFillAndExpand
memiliki ukuran yang berbeda.Penting
Ketika semua ruang dalam
StackLayout
digunakan, preferensi ekspansi tidak berpengaruh.Di Visual Studio, hentikan aplikasi.
Untuk informasi selengkapnya tentang perataan dan ekspansi, lihat Opsi Tata Letak di Xamarin.Forms.
Selamat!
Selamat atas penyelesaian tutorial ini, di mana Anda belajar cara:
- Buat Xamarin.Forms
StackLayout
di XAML. - Tentukan orientasi
StackLayout
. - Mengontrol perataan dan ekspansi tampilan anak dalam
StackLayout
.
Langkah berikutnya
Untuk mempelajari selengkapnya tentang dasar-dasar pembuatan aplikasi seluler dengan Xamarin.Forms, lanjutkan ke tutorial Label.
Tautan terkait
Memiliki masalah dengan bagian ini? Jika iya, berikan umpan balik kepada kami agar kami dapat meningkatkan bagian ini.