Bagikan melalui


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");

Dialog pemberitahuan dengan satu tombol, di iOS dan Android

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);
}

Dialog pemberitahuan dengan dua tombol

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 , Pagemeneruskan 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);
}

Dialog ActionSheet, di iOS dan Android

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);
}

Dialog ActionSheet dengan tombol hancurkan, di iOS dan Android

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:

Cuplikan layar perintah modal, di iOS dan Android

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 jenis string, adalah judul untuk ditampilkan dalam perintah.
  • message, dari jenis string, adalah pesan untuk ditampilkan dalam perintah.
  • accept, dari jenis string, adalah teks untuk tombol terima. Ini adalah argumen opsional, yang nilai defaultnya OK.
  • cancel, dari jenis string, adalah teks untuk tombol batalkan. Ini adalah argumen opsional, yang nilai defaultnya adalah Batal.
  • placeholder, dari jenis string, adalah teks tempat penampung untuk ditampilkan dalam perintah. Ini adalah argumen opsional, yang nilai defaultnya adalah null.
  • maxLength, dari jenis int, adalah panjang maksimum respons pengguna. Ini adalah argumen opsional, yang nilai defaultnya adalah -1.
  • keyboard, dari jenis Keyboard, adalah jenis keyboard yang digunakan untuk respons pengguna. Ini adalah argumen opsional, yang nilai defaultnya adalah Keyboard.Default.
  • initialValue, dari jenis string, adalah respons yang telah ditentukan sebelumnya yang akan ditampilkan, dan yang dapat diedit. Ini adalah argumen opsional, yang nilai defaultnya kosong string.

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:

Cuplikan layar perintah modal opsional, di iOS dan Android

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.