Android Custom Dialog (Alert Dialog) Yapımı

Android Custom Dialog (Alert Dialog) Yapımı

import android.app.DialogFragment;

import android.os.Bundle;

import android.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.Button;

import android.widget.TextView;

 

/**

 * A simple {@link Fragment} subclass.

 */

public class CustomDiologFragment extends DialogFragment {

 

    Button b1,b2;

    TextView baslik,mesaj;

    Boolean buttonCift;

    String baslikString,mesajString,buton1Title,buton2Title;

    DialogInterface dialogInterface;

 

    public CustomDiologFragment(String baslikString,String mesajString,String buton1Title,String buton2Title,Boolean buttonCift){//constructor

        this.baslikString = baslikString; //Dailog Başlık

        this.mesajString = mesajString; //Dialog mesaj

        this.buttonCift = buttonCift;  //Dialog tek mi çift mi butonla gösterilecek

        this.buton1Title = buton1Title; //Button title

        this.buton2Title = buton2Title; //button title

 

    }

    @Override

    public View onCreateView(LayoutInflater inflater, ViewGroup container,

                             Bundle savedInstanceState) {

 

        View view = inflater.inflate(R.layout.dialog_fragment,container);//Fragment view oluşturuyoruz

 

        getDialog().getWindow().requestFeature(getActivity().getWindow().FEATURE_NO_TITLE);//kendi başlığımızı oluşturduğumuz için Dialog sınıfının başlığını kapatıyoruz

        setCancelable(false);//Dialog penceresinin dışına basıldığında kapatılmasını engelliyoruz.setCancelable methodu extend ettiğimiz DialogFragment içinde bulunmakta

        dialogInterface = (DialogInterface) getActivity();//DialogInterface içindeki buttonClick methodunu çağırabilmek için obje oluşturuyoruz

 

        b1 = (Button)view.findViewById(R.id.button1); //b1 butonu

        b1.setText(buton1Title); //button title nı constructora gönderdimiz değer ile set ediyoruz

        b1.setOnClickListener(new View.OnClickListener() {//b1 clicklistener

            @Override

            public void onClick(View v) {

                dialogInterface.buttonClick(1);//Hangi butona tıklandığını anlamak için int değer dönüyoruz

                dismiss(); //Butona tıklanınca Dialog penceresinin kapanması için.Bu methodda extend edilen class içinde mevcut

            }

        });

        b2 = (Button)view.findViewById(R.id.button2);

        b2.setText(buton2Title);

        b2.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick (View v) {

                dialogInterface.buttonClick(2);

                dismiss();

            }

        });

        

        baslik = (TextView)view.findViewById(R.id.baslik);

        baslik.setText(baslikString);

 

        mesaj = (TextView)view.findViewById(R.id.mesaj);

        mesaj.setText(mesajString);

 

        if(buttonCift){

            b1.setVisibility(View.VISIBLE);

        }

 

        return view;

    }

 

}

Yorum Yap
0 Yorum yapan