Kullanıcı girişi isteklerini veya pop-up mesajları gösterme

Dialog bileşeni, ana uygulama içeriğinin üstündeki bir katmanda pop-up mesajlar gösterir veya kullanıcıdan giriş ister. Kullanıcıların dikkatini çekmek için kesintiye uğratan bir kullanıcı arayüzü deneyimi oluşturur.

İletişim kutularının kullanım alanları arasında şunlar yer alır:

  • Kullanıcının işlemini onaylama (ör. dosya silme)
  • Kullanıcıdan giriş isteğinde bulunma (ör. yapılacaklar listesi uygulamasında)
  • Profil kurulumunda ülke seçme gibi kullanıcı seçimi için seçeneklerin listesini sunma

Bu konuda aşağıdaki uygulamalar sağlanmaktadır:

Sürüm uyumluluğu

Bu uygulama için projenizin minSDK değerinin API düzeyi 21 veya üstü olarak ayarlanması gerekir.

Bağımlılıklar

Uyarı iletişim kutusu oluşturma

AlertDialog bileşeni, Material Design temalı bir iletişim kutusu oluşturmak için kullanışlı bir API sağlar. Aşağıdaki örnekte, uyarı iletişim kutusunda biri iletişim kutusunu kapatan, diğeri ise isteği onaylayan iki düğme uygulanmaktadır:

Bu uygulama, alt composable'a şu şekilde bağımsız değişkenler aktaran bir üst composable içerir:

Sonuçlar

Hem kapatma hem de onay düğmesi bulunan açık bir uyarı iletişim kutusu.
Şekil 1. Düğmeler içeren bir uyarı iletişim kutusu.

Önemli noktalar

AlertDialog, iletişim kutusunun belirli öğelerini işlemek için özel parametrelere sahiptir. Bunlardan bazıları şunlardır:

  • title: İletişim kutusunun üst kısmında görünen metin.
  • text: İletişim kutusunun ortasında görünen metin.
  • icon: İletişim kutusunun üst kısmında görünen grafik.
  • onDismissRequest: Kullanıcı iletişim kutusunu kapattığında (ör. iletişim kutusunun dışına dokunarak) çağrılan işlev.
  • dismissButton: Kapatma düğmesi işlevi gören bir kompozisyon.
  • confirmButton: Onay düğmesi olarak kullanılan bir bileşen.

  • Kullanıcı düğmelerden birini tıkladığında iletişim kutusu kapanır. Kullanıcı onay'ı tıkladığında, onayı da işleyen bir işlev çağrılır. Bu örnekte bu işlevler onDismissRequest() ve onConfirmRequest()'tir.

    İletişim kutunuz için daha karmaşık bir düğme grubu gerekiyorsa Dialog bileşenini kullanarak ve daha serbest bir şekilde doldurarak fayda sağlayabilirsiniz.

İletişim kutusu oluşturma

Dialog, içerik için herhangi bir stil veya önceden tanımlanmış yuva sağlamayan temel bir bileşendir. Card gibi bir kapsayıcıyla doldurmanız gereken basit bir kapsayıcıdır. Aşağıda, bir iletişim kutusunun temel parametrelerinden bazıları verilmiştir:

  • onDismissRequest: Kullanıcı iletişim kutusunu kapattığında çağrılan lambda.
  • properties: Özelleştirme için ek kapsam sağlayan bir DialogProperties örneği.

Temel bir iletişim kutusu oluşturma

Aşağıdaki örnek, Dialog bileşeninin temel bir uygulamasıdır. İkincil kapsayıcı olarak Card kullanıldığını unutmayın. Card olmadan Text bileşeni, ana uygulama içeriğinin üstünde tek başına görünür.

Sonuç

İletişim kutusu açıkken altındaki ana uygulama içeriğinin karartılmış ve devre dışı göründüğünü unutmayın:

Yalnızca etiket içeren bir iletişim kutusu.
Şekil 2. Minimum düzeyde iletişim.

Gelişmiş iletişim kutusu oluşturma

Aşağıda, Dialog bileşeninin daha gelişmiş bir uygulaması verilmiştir. Bu durumda bileşen, önceki AlertDialog örneğine benzer bir arayüzü manuel olarak uygular.

Sonuç

Victoria, Feathertop Dağı'nın fotoğrafının yer aldığı bir iletişim kutusu. Görüntünün altında bir kapat düğmesi ve bir onay düğmesi bulunur.
Şekil 3. Resim içeren bir iletişim kutusu.

Bu kılavuzu içeren koleksiyonlar

Bu kılavuz, daha geniş Android geliştirme hedeflerini kapsayan, özel olarak seçilmiş Hızlı Kılavuz koleksiyonlarından biridir:

Metin, her kullanıcı arayüzünün temel bileşenidir. Kullanıcılara keyifli bir deneyim sunmak için uygulamanızda metinleri sunmanın farklı yollarını öğrenin.
Kullanıcıların metin girerek ve diğer giriş yöntemlerini kullanarak uygulamanızla nasıl etkileşime geçebileceğini öğrenin.
Birleştirilebilir işlevlerin, Materyal Tasarım tasarım sistemine dayalı güzel kullanıcı arayüzü bileşenleri oluşturmanızı nasıl kolaylaştırabileceğini öğrenin.

Sorularınız veya geri bildiriminiz mi var?

Sık sorulan sorular sayfamıza giderek kısa kılavuzlar hakkında bilgi edinebilir veya bize ulaşarak düşüncelerinizi bizimle paylaşabilirsiniz.