آموزش Date Picker فارسی در برنامه نویسی اندروید

امتیاز 5.00 ( 1 رای )

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش Date Picker فارسی در برنامه نویسی اندروید می پردازیم قبلا آموزش DatePicker را برای شما قرار داده بودیم ولی به صورت پیشفرض در بعضی از گوشی ها DatePicker به صورت فارسی نیست برای اینکه یک دیالوگ خاص برای کاربران از نوع فارسی نمایش دهید می توانید از این کتاب خانه استفاده کنید در ادامه می توانید پیش نمایشی از آن را مشاهده کنید.

این کتاب خانه کاملا متریال دیزاین است !
برای استفاده از آن باید مثل همیشه ابتدا کتاب خانه آن را اضافه کنیم
به فایل Build.gradle رفته از نوع Top level و خط زیر را به بخش repositories اضافه کنید.

        mavenCentral()

برای این کار وارد فایل Build.gradle شده از نوع module و خط زیر را در بخش dependencies قرار دهید.

    compile 'com.mohamadamin:persianmaterialdatetimepicker:1.2.1'

پروژه خود را sync کنید
از کد زیرا برای باز کردن DatePicker استفاده کنید.

  PersianCalendar now = new PersianCalendar();
        DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(new DatePickerDialog.OnDateSetListener() {
               @Override
               public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
                                     Toast.makeText(MainActivity.this, "" + year + "/" + monthOfYear + "/" + dayOfMonth, Toast.LENGTH_SHORT).show();
                            }
                        }, now.getPersianYear(),
                now.getPersianMonth(),
                now.getPersianDay());
        datePickerDialog.setThemeDark(true);
        datePickerDialog.show(getFragmentManager(), "tpd");

از setThemeDark برای تغییر theme استفاده شده است.
برای اینکه تاریخ انتخاب شده کاربر را بگیرم از کد زیر استفاده کنید.

@Override
public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
  String date = "You picked the following date: "+dayOfMonth+"/"+(monthOfYear+1)+"/"+year;
  Toast.makeText(getApplicationContext(), date, Toast.LENGTH_SHORT).show();
}

برای اینکه رنگ آن را تغییر دهید وارد فایل colors.xml شده در مسیر res/values و خط های زیر را به آن اضافه کنید.

<color name="mdtp_accent_color">#009688</color>
<color name="mdtp_accent_color_dark">#00796b</color>

برای اینکه کنسل شدن آن را handle کنید (یعنی تشخص بدید انتخاب شده است یا نه) از کد زیر استفاده کنید.

pdp.setOnCancelListener(new DialogInterface.OnCancelListener() {
    @Override
    public void onCancel(DialogInterface dialogInterface) {
      Log.d("TimePicker", "Dialog was cancelled");
    }
});

این آموزش هم به پایان رسید.
 
موفق و موید باشید.

مطالعه بیشتر