Android Studio Alert Dialog

Android Studio Alert Dialog

Android studio’da Alert Dialog konusuna geldik. Alert Dialog bizim ufak bir pencere ile yönlendirmeler yapmamıza yarayan bir uygulama kullanıcı diyalog penceresi diyebiliriz. Çünkü ufak bir pencere açılır ve ne yapmak istersiniz diye sorar. Örneğin Aşağıdaki resimde ki gibi..

Alert Dialog kullanarak bir mesajı kullanıcıya sunabiliriz. Mesela geri tuşuna basınca uygulamadan çıkmak mı istiyorsunuz ya da bir butona basınca bir uyarı penceresi çıkarabiliriz. Birazdan onun örneğini görüceğiz.

Öncelikle Kodlara Geçelim.. Layout kısmında bir işlem yapmamıza gerek yok. Sadece bir button atın ve Android Manifest’te de bir işleme gerek yok. Hepsi sadece java kodu ile hallediceğiz. Öncelikle geri buttonuna basınca gitmesi kısmı..

1

2

3

public boolean onKeyDown(int keyCode, KeyEvent event) {

        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {

//Eğer geri butonuna basılırsa

Burasını öncelikle code -> Override -> onKeyDown kısmından getirin.sonrasında ise keyCode’a bir tıklama olayında ki Arka Back tuşuna basılırsa algılamasını istiyoruz.

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

  final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

                builder.setTitle("Uyarı !!");

                builder.setMessage("Web sitesi Açılsın mı?");

                builder.setCancelable(false);

                builder.setIcon(R.drawable.a);

 

                builder.setPositiveButton("Evet", new DialogInterface.OnClickListener() {

 

                    @Override

                    public void onClick(DialogInterface dialog, int which) {

                        // TODO Auto-generated method stub

                        Toast.makeText(MainActivity.this, "Açılıyor.", Toast.LENGTH_LONG).show();

                    }

                });

                builder.setNegativeButton("Hayır", new DialogInterface.OnClickListener() {

 

                    @Override

                    public void onClick(DialogInterface dialog, int which) {

                        // TODO Auto-generated method stub

                        Toast.makeText(MainActivity.this, "Pekala.", Toast.LENGTH_LONG).show();

                    }

                });

 

                AlertDialog dialog = builder.create();

                dialog.show();

            }

Uygulamada ki 2 kısımda ki kodlar da aşağıda. AlertDialog mantığını anlatıyorum. Öncelikle bir kütüphaneden bulunan activity’de bir alertDialog pencere oluşturulması istendi.

builder.setTittle: En yukarda ki uyarı..

builder.setMassage : Kullanıya sunucağınız seçenek, mesaj..

builder.setCancelable(false) : Burada ki false bu mesajı cevaplamadan dialoga bir cevap vermeden dialog kapanmıycak demek. True ya da yazmazsanız o zamanda ekranda bir yere tıklayarak bu kısımdan kurtulabilir. Yani dialogumuzu cevaplama zorunluluğu kılıyoruz.

Geri kalan işlemler de evet ve hayır adında iki kısım oluşturup yapılan cevaba göre toast mesaj göstermek ya da geri butonunda ki gibi uygulamayı kapatmak.

Uygulamanın kodları ve çalışma resimleri aşağıdadır. Başarılar..

Kodlar :

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

package com.umiitkose.egitim2;

 

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.KeyEvent;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

 

public class MainActivity extends Activity {

 

    @Override

    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {

//Eğer geri butonuna basılırsa

 

            try{

                AlertDialog.Builder alertDialogBuilder=new AlertDialog.Builder(this); //Mesaj Penceresini Yaratalım

                alertDialogBuilder.setTitle("Programdan Çıkılsın Mı?").setCancelable(false).setPositiveButton("Evet", new DialogInterface.OnClickListener() {

 

                    @Override

                    public void onClick(DialogInterface dialog, int id) { //Eğer evet butonuna basılırsa

                        dialog.dismiss();

                        android.os.Process.killProcess(android.os.Process.myPid());

//Uygulamamızı sonlandırıyoruz.

                    }

 

                }).setNegativeButton("Hayır", new DialogInterface.OnClickListener() {

//Eğer hayır butonuna basılırsa

 

                    @Override

                    public void onClick(DialogInterface dialog, int which) {

                        Toast.makeText(getApplicationContext(), "Programdan çıkmaktan vazgeçtiniz.", Toast.LENGTH_SHORT).show();

                    }

                });

 

                alertDialogBuilder.create().show();

//son olarak alertDialogBuilder'ı oluşturup ekranda görüntületiyoruz.

                return super.onKeyDown(keyCode, event);

            }

            catch(IllegalStateException e){  //yapımızı try-catch blogu içerisine aldık

                //hata ihtimaline karşı.

                e.printStackTrace();

            }

            return true;

        }

        return super.onKeyDown(keyCode, event);

    }

 

    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

final Button a=(Button)findViewById(R.id.button);

        a.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

 

                final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

                builder.setTitle("Uyarı !!");

                builder.setMessage("Web sitesi Açılsın mı?");

                builder.setCancelable(false);

                builder.setIcon(R.drawable.a);

 

                builder.setPositiveButton("Evet", new DialogInterface.OnClickListener() {

 

                    @Override

                    public void onClick(DialogInterface dialog, int which) {

                        // TODO Auto-generated method stub

                        Toast.makeText(MainActivity.this, "Açılıyor.", Toast.LENGTH_LONG).show();

                    }

                });

                builder.setNegativeButton("Hayır", new DialogInterface.OnClickListener() {

 

                    @Override

                    public void onClick(DialogInterface dialog, int which) {

                        // TODO Auto-generated method stub

                        Toast.makeText(MainActivity.this, "Pekala.", Toast.LENGTH_LONG).show();

                    }

                });

 

                AlertDialog dialog = builder.create();

                dialog.show();

            }

 

    });

}}

 

 

Henüz Yorum Yapılmamış, İlk Yorumu Siz Yapın

Yorum Yollayın