Tampilkan Pop-up
Menampilkan pemberitahuan, meminta pengguna untuk membuat pilihan, atau menampilkan perintah adalah tugas UI umum. Xamarin.Forms memiliki tiga metode di Page
kelas untuk berinteraksi dengan pengguna melalui pop-up: DisplayAlert
, DisplayActionSheet
, dan DisplayPromptAsync
. Mereka dirender dengan kontrol asli yang sesuai di setiap platform.
Menampilkan peringatan
Semua Xamarin.Formsplatform yang didukung memiliki pop-up modal untuk memperingatkan pengguna atau mengajukan pertanyaan sederhana tentang mereka. Untuk menampilkan pemberitahuan ini di Xamarin.Forms, gunakan DisplayAlert
metode pada apa pun Page
. Baris kode berikut menunjukkan pesan sederhana kepada pengguna:
await DisplayAlert ("Alert", "You have been alerted", "OK");
Contoh ini tidak mengumpulkan informasi dari pengguna. Pemberitahuan ditampilkan secara modal dan setelah ditutup, pengguna terus berinteraksi dengan aplikasi.
Metode ini DisplayAlert
juga dapat digunakan untuk mengambil respons pengguna dengan menyajikan dua tombol dan mengembalikan boolean
. Untuk mendapatkan respons dari pemberitahuan, berikan teks untuk tombol dan await
metode . Setelah pengguna memilih salah satu opsi, jawaban akan dikembalikan ke kode Anda. async
Perhatikan kata kunci dan await
dalam kode sampel di bawah ini:
async void OnAlertYesNoClicked (object sender, EventArgs e)
{
bool answer = await DisplayAlert ("Question?", "Would you like to play a game", "Yes", "No");
Debug.WriteLine ("Answer: " + answer);
}
Metode ini DisplayAlert
juga memiliki kelebihan beban yang menerima FlowDirection
argumen yang menentukan arah di mana elemen UI mengalir dalam pemberitahuan. Untuk informasi selengkapnya tentang arah alur, lihat Pelokalan kanan-ke-kiri.
Peringatan
Secara default pada UWP, saat pemberitahuan ditampilkan kunci akses apa pun yang ditentukan di halaman di belakang pemberitahuan masih dapat diaktifkan. Untuk informasi selengkapnya, lihat Kunci Akses VisualElement di Windows.
Memandu pengguna melalui tugas
UIActionSheet adalah elemen UI umum di iOS. Metode ini Xamarin.FormsDisplayActionSheet
memungkinkan Anda menyertakan kontrol ini dalam aplikasi lintas platform, merender alternatif asli di Android dan UWP.
Untuk menampilkan lembar tindakan, await
DisplayActionSheet
dalam , Page
meneruskan label pesan dan tombol sebagai string. Metode mengembalikan label string tombol yang diklik oleh pengguna. Contoh sederhana ditunjukkan di sini:
async void OnActionSheetSimpleClicked (object sender, EventArgs e)
{
string action = await DisplayActionSheet ("ActionSheet: Send to?", "Cancel", null, "Email", "Twitter", "Facebook");
Debug.WriteLine ("Action: " + action);
}
Tombol destroy
dirender secara berbeda dengan tombol lain di iOS, dan dapat dibiarkan null
atau ditentukan sebagai parameter string ketiga. Contoh berikut menggunakan tombol destroy
:
async void OnActionSheetCancelDeleteClicked (object sender, EventArgs e)
{
string action = await DisplayActionSheet ("ActionSheet: SavePhoto?", "Cancel", "Delete", "Photo Roll", "Email");
Debug.WriteLine ("Action: " + action);
}
Metode ini DisplayActionSheet
juga memiliki kelebihan beban yang menerima FlowDirection
argumen yang menentukan arah di mana elemen UI mengalir dalam lembar tindakan. Untuk informasi selengkapnya tentang arah alur, lihat Pelokalan kanan-ke-kiri.
Menampilkan perintah
Untuk menampilkan perintah, panggil DisplayPromptAsync
di mana pun Page
, meneruskan judul dan pesan sebagai string
argumen:
string result = await DisplayPromptAsync("Question 1", "What's your name?");
Perintah ditampilkan secara modal:
Jika tombol OK diketuk, respons yang dimasukkan dikembalikan sebagai string
. Jika tombol Batal diketuk, null
dikembalikan.
Daftar argumen lengkap untuk metode ini DisplayPromptAsync
adalah:
title
, dari jenisstring
, adalah judul untuk ditampilkan dalam perintah.message
, dari jenisstring
, adalah pesan untuk ditampilkan dalam perintah.accept
, dari jenisstring
, adalah teks untuk tombol terima. Ini adalah argumen opsional, yang nilai defaultnya OK.cancel
, dari jenisstring
, adalah teks untuk tombol batalkan. Ini adalah argumen opsional, yang nilai defaultnya adalah Batal.placeholder
, dari jenisstring
, adalah teks tempat penampung untuk ditampilkan dalam perintah. Ini adalah argumen opsional, yang nilai defaultnya adalahnull
.maxLength
, dari jenisint
, adalah panjang maksimum respons pengguna. Ini adalah argumen opsional, yang nilai defaultnya adalah -1.keyboard
, dari jenisKeyboard
, adalah jenis keyboard yang digunakan untuk respons pengguna. Ini adalah argumen opsional, yang nilai defaultnya adalahKeyboard.Default
.initialValue
, dari jenisstring
, adalah respons yang telah ditentukan sebelumnya yang akan ditampilkan, dan yang dapat diedit. Ini adalah argumen opsional, yang nilai defaultnya kosongstring
.
Contoh berikut menunjukkan pengaturan beberapa argumen opsional:
string result = await DisplayPromptAsync("Question 2", "What's 5 + 5?", initialValue: "10", maxLength: 2, keyboard: Keyboard.Numeric);
Kode ini menampilkan respons 10 yang telah ditentukan sebelumnya, membatasi jumlah karakter yang dapat dimasukkan ke 2, dan menampilkan keyboard numerik untuk input pengguna:
Peringatan
Secara default pada UWP, ketika perintah ditampilkan kunci akses apa pun yang ditentukan pada halaman di belakang perintah masih dapat diaktifkan. Untuk informasi selengkapnya, lihat Kunci Akses VisualElement di Windows.