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.
Bir Şeyler Söyle