DatePickerDialog Nesnesini Spinner Şeklinde Uyarlama

DatePickerDialog nesnesini Spinner olarak eklemek için kodlama esnasında çeşitli sınıfları import etmenizi isteyecek. O adımları editörden takip edin.

Çalışmamızda class girişinde java kodlarımıza bir DatePickerDialog nesnesi ekliyoruz.

public class {Kendi Sınıf Adınız} extends AppCompatActivity {
DatePickerDialog dtp;

onCreate metodunda, tıkladığımızda diyalog penceresinin görünmesini istediğimiz EditText elemanımızın bilgi giriş metodunu sıfırlıyoruz.

edit_tarih = findViewById(R.id.edit_tarih);
edit_tarih.setInputType(InputType.TYPE_NULL);

EditText elemanımıza tıklama dinleme metodu ekleyip aşağıdaki şekilde kodluyoruz.

 edit_tarih.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final Calendar cldr = Calendar.getInstance();
                int day = cldr.get(Calendar.DAY_OF_MONTH);
                int month = cldr.get(Calendar.MONTH);
                int year = cldr.get(Calendar.YEAR);
                // date picker dialog
                dtp = new DatePickerDialog({Kendi Activity Adınız}.this,
                        new DatePickerDialog.OnDateSetListener() {
                            @Override
                            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                                edit_tarih.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year);
                            }
                        }, year, month, day);
                dtp.show();
            }
        });

Buraya kadar çalıştırdığınızda EditText elemanımıza tıkladığımızda takvim dialog penceresi gelecek. Bunu spinner şeklinde göstermek için önce themes.xml dosyamıza aşağıdaki stil kodlarını ekliyoruz.

<style name="MySpinnerDatePickerStyle" parent="android:Theme.Material.Dialog">
        <item name="android:datePickerStyle">@style/MySpinnerDatePicker</item>
    </style>

    <style name="MySpinnerDatePicker" parent="android:Widget.Material.DatePicker">
        <item name="android:datePickerMode">spinner</item>
    </style>

Daha sonra onClickListener içinde tanımladığımız DatePickerDialog nesnemizi aşağıdaki şekilde düzenliyoruz;

 dtp = new DatePickerDialog({Kendi Activity Adınız}.this, R.style.MySpinnerDatePickerStyle,.....

R.style.MySpinnerDatePickerStyle komutu eklediğemezde diyalog penceremiz spinner şeklinde gelecektir.

Kolay gelsin.