Android AlertDialog Kullanımı

Java Kotlin Eğitimi

Merhaba Arkadaşlar,
Mobilhanem.com sitemiz üzerinden anlattığımız/yayınladığımız Android Eğitimleri yazı serimizde bu dersimizde Android AlertDialog Kullanımı ile devam ediyoruz. AlertDialog ,Dialog  dan türeyen  kullanıcının, ekranda popup şeklinde bir görüntü görmesini sağlayan yapıdır. Kullanıcıya bilgi mesajı olarak gösterebiliriz, istersek de hata mesajı olarak AlertDialog yapısını kullanabiliriz.

Şimdi örneklerle açıklamaya başlayalım; Activity sınıfı içinde bir butona tıkladığımız anda AlertDialog umuzu kullanıcıya gösteriyoruz. Aşağıdaki kod yapısını incelediğimizde; butona basıldığında ekranda AlertDialog görünür hale geliyor ve mesaj olarak da “Uygulama bilgilerini görüntülemek ister misiniz?” sorusu yazdığını göreceksiniz. “Evet” ve “Hayır” olarak iki seçenek olduğunu göreceksiniz. Eğer kullanıcı “Evet” basarsa android in kendi Uygulama Bilgileri ekranına yönlenecektir.

Java Kotlin Eğitimi

MainActivity.java

Ekran çıktısı:

Activity içerisinde tanımlama

AlertDialog Builder sınıfını oluştururken eğer Activity içerisinde tanımlama yapıyorsak aşağıdaki gibi ilgili Activity adını vermemiz yeterli.

Fragment içerisinde tanımlama

AlertDialog Builder sınıfını oluştururken eğer Fragment içerisinde tanımlama yapıyorsak aşağıdaki gibi getActivity sınıfını vermemiz yeterli.

 

AlertDialogun Builder sınıfından gerekli tanımlamaları yaptığımızı göreceksiniz. Madde madde ne işe yaradıklarına bakalım;

builder.setTitle(): açılan AlertDialog penceresinde başlık girmemizi sağlar.

builder.setMessage(): açıllan AlertDialog pencersinde uyarı mesajının gösterilmesini sağlar.

builder.setNegativeButton(): “Hayır”, “Vazgeç”, “İptal” vb. seçeneklerin belirtilmesi için kullanılan yapıdır.

builder.setPositiveButton(): “Evet”, “Tamam” vb. seçeneklerin belirtilmesi için kullanılan yapıdır.

builder.show(): Oluşturulan Dialog penceresinin gözükmesini sağlar.

Dialog penceresinde başlık kısmına resim eklemek istersek; setIcon ile bu işlemi gerçekleştiriyoruz. builder.setIcon(R.mipmap.ic_launcher_round) 

builder.setCancelable(false): false yaptığımız durumda açılan Dialog penceresinin geri tuşuna basılarak da Dialog penceresi dışında herhangi bir yere basılarak da kapanmasını engelleriz.

AlertDialog da tek butonlu gösterim yapabilmemiz için aşağıdaki şekilde bir tanımlama yapabiliriz.

Ekran çıktısı:

AlertDialog da iki butonlu gösterim yapabilmemiz için aşağıdaki şekilde bir tanımlama yapabiliriz.

Ekran çıktısı:

AlertDialog da üç butonlu gösterim yapabilmemiz için aşağıdaki şekilde bir tanımlama yapabiliriz.

Ekran çıktısı:

Uygulamamızın bir çok yerinde AlertDialog kullandığımızı düşünürsek;  yapmamız gereken heryerde AlertDialog penceresi oluşturmak yerine bir sınıf oluştururuz ve oradan static fonksiyon sayesinde AlertDialog yapısını çağırıp kullanırız.

DialogHelper.java

Yukarıdaki kod yapısında gördüğünüz gibi alertBuilder static fonksiyonu kullanacağımız AlertDailog Builder yapısını döndürüyor. style kısmında ise ShowAlertDialogTheme adını verdiğimiz tema yapısını oluşturduk. Bu sayede AlertDialog larımızın görünümünü, arka plan rengini, seçeneklerin rengini vb. bir çok özelliği tek bir yerden yönetilebilir hale getirdik.

Yukarıdaki R.style.ShowAlertDialogTheme yapısını kullanabilmemiz için values klasörü altına theme.xml adında dosyamızı oluşturuyoruz.

Daha sonra theme.xml dosyasının içerisine ShowAlertDialogTheme adını verdiğimiz aşağıdaki yapıyı oluşturuyoruz. colorAccent renk kodu ile seçeneklerin rengini belirledik. android:background ile pencerenin arka plan rengini belirledik. android:textColorPrimary ile de Dialog içerisindeki mesajımızın rengini belirledik.

theme.xml

Şimdi aşağıdaki şekilde çağırıp uygulama içinde kullanıyoruz.

MainActivity.java

Ekran çıktısı:

Evet arkadaşlar Android AlertDialog Kullanımı aşamalarını sizlere detaylıca anlatmaya çalıştım. Umarım hepiniz için faydalı olmuştur.

Sıfırdan android dersleri için tıklayınız.

Mobilhanem.com üzerinden anlattığımız android uygulama geliştirme derslerine devam edeceğiz. Konu hakkında sorunuzu yorum alanından sorabilirsiniz. Konu dışı sorularınızı ve tüm yazılımsal sorularınızı sorucevap.mobilhanem.com sitemizden de sorabilirsiniz.

Bir daha ki dersimizde görüşmek dileğiyle..

Alper Beyler

Yüksek Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği
Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği (4/3.30) (2010-2014)
Lisans : Viyana Teknik Üniversitesi / Bilgisayar Bilimleri (2013)

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?