برنامج DatePicker التعليمي مع مثال في Android Studio
في Android ، يعد DatePicker أداة تستخدم لتحديد تاريخ. يسمح بتحديد التاريخ باليوم والشهر والسنة في واجهة المستخدم المخصصة (واجهة المستخدم). إذا احتجنا إلى إظهار هذا العرض كمربع حوار ، فعلينا استخدام فئة DatePickerDialog. لتحديد الوقت ، يوفر Android أيضًا أداة اختيار الوقت لتحديد DatePicker الوقت.

<DatePicker android:id="@+id/simpleDatePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:datePickerMode="spinner"/>
جدول المحتويات
طرق منتقي التاريخ DatePicker
دعونا نناقش بعض الطرق الشائعة لمنتقي البيانات والتي تُستخدم لتكوين منتقي التاريخ في تطبيقنا.
1. setSpinnersShown (عرض منطقي):
ويستخدم هذا الأسلوب لمجموعة ما إذا كان الدوار spinner من منتقي التاريخ في أبدى أم لا. في هذه الطريقة ، يجب عليك تعيين قيمة منطقية إما صواب أو خطأ. يشير صواب إلى عرض القرص الدوار ، بينما تشير القيمة الخاطئة إلى عدم ظهور القرص الدوار . القيمة الافتراضية لهذه الوظيفة صحيحة.
نعرض أدناه استخدام وظيفة setSpinnerShown () من خلال تعيين قيمة خاطئة.
DatePicker simpleDatePicker = (DatePicker)findViewById(R.id.simpleDatePicker); // initiate a date picker simpleDatePicker.setSpinnersShown(false); // set false value for the spinner shown function

تُستخدم هذه الطريقة للحصول على اليوم المحدد من الشهر من a منتقي التاريخ DatePicker . هذه الطريقة ترجع قيمة عدد صحيح.
أدناه نحصل على اليوم المحدد من الشهر من منتقي التاريخ DatePicker .
/*Add in Oncreate() funtion after setContentView()*/ DatePicker simpleDatePicker = (DatePicker) findViewById(R.id.simpleDatePicker); // initiate a date picker int day = simpleDatePicker.getDayOfMonth(); // get the selected day of the month
3. getMonth ():
تُستخدم هذه الطريقة للحصول على الشهر المحدد من منتقي التاريخ. هذه الطريقة ترجع قيمة عدد صحيح.
أدناه نحصل على الشهر المحدد من منتقي التاريخ.
DatePicker simpleDatePicker = (DatePicker)findViewById(R.id.simpleDatePicker); // initiate a date picker int month = simpleDatePicker.getMonth(); // get the selected month
4. getYear ():
تُستخدم هذه الطريقة للحصول على السنة المحددة من منتقي التاريخ. هذه الطريقة ترجع قيمة عدد صحيح.
يتم استخدام الرمز أدناه للحصول على السنة المحددة من منتقي التاريخ.
DatePicker simpleDatePicker = (DatePicker)findViewById(R.id.simpleDatePicker); // initiate a date picker int year = simpleDatePicker.getYear(); // get the selected year
5. getFirstDayOfWeek ():
تستخدم هذه الطريقة للحصول على اليوم الأول من الأسبوع. هذه الطريقة ترجع قيمة عدد صحيح.
يتم استخدام الرمز أدناه للحصول على اليوم الأول من الأسبوع.
DatePicker simpleDatePicker = (DatePicker)findViewById(R.id.simpleDatePicker); // initiate a date picker int firstDay=simpleDatePicker.getFirstDayOfWeek(); // get the first day of the week
سمات وخصائص منتقي التاريخ DatePicker
الآن دعنا نناقش بعض السمات والخصائص المهمة التي تساعدنا على تكوين منتقي التاريخ في ملف XML (التخطيط).
1. id: id هي سمة تُستخدم لتعريف منتقي التاريخ بشكل فريد.
<DatePicker android:id="@+id/simpleDatePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" />
2. datePickerMode: تُستخدم هذه السمة لضبط منتقي التاريخ في الوضع سواء كان سبينر أو تقويم. الوضع الافتراضي هو التقويم ولكن لا يتم استخدام هذا الوضع بعد المستوى 21 لواجهة برمجة التطبيقات ، لذلك من المستوى 21 لواجهة برمجة التطبيقات ، يجب عليك ضبط الوضع على الدوار.
يوجد أدناه مثال على رمز قمنا فيه بتعيين الوضع على القرص الدوار لمنتقي التاريخ.
<DatePicker android:id="@+id/simpleDatePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:datePickerMode="spinner" /> <!-- spinner mode of a date picker -->

أدناه قمنا بتعيين اللون الأحمر لخلفية منتقي التاريخ.
<DatePicker android:id="@+id/simpleDatePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:datePickerMode="spinner" android:background="#f00"/> <!-- red color for the background of the date picker -->

DatePicker simpleDatePicker=(DatePicker)findViewById(R.id.simpleDatePicker); // initiate a date picker simpleDatePicker.setBackgroundColor(Color.RED); // red color for the background of a date picker
4. المساحة المتروكة padding : يتم استخدام خاصية المساحة المتروكة لتعيين المساحة المتروكة من اليسار أو اليمين أو أعلى أو أسفل منتقي التاريخ.
- المساحة المتروكة لليمين paddingRight : اضبط المساحة المتروكة من الجانب الأيمن من منتقي التاريخ .
- المساحة المتروكة لليسار padding left: اضبط المساحة المتروكة من الجانب الأيسر لمنتقي التاريخ .
- paddingTop: اضبط المساحة المتروكة من الجانب العلوي لمنتقي التاريخ .
- paddingBottom: اضبط المساحة المتروكة من الجانب السفلي لمنتقي التاريخ .
- المساحة المتروكة : اضبط المساحة المتروكة من جميع جوانب منتقي التاريخ .
أدناه كود سمة الحشو padding ، اضبط المساحة المتروكة 40dp من جميع جوانب منتقي التاريخ.
<DatePicker android:id="@+id/simpleDatePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:datePickerMode="spinner" android:padding="40dp"/> <!-- 40dp padding from all the sides of a date picker -->

مثال منتقي التاريخ في Android Studio:
مثال 1: في المثال الأول من منتقي التاريخ DatePicker وتبين لنا منتقي التاريخ بسيط و زر في منطقتنا أكس ملف وأداء فوق الحدث على زر . لذلك كلما نقر المستخدم على زر ، سيتم عرض يوم الشهر والشهر والسنة باستخدام Toast. فيما يلي الإخراج النهائي ، تنزيل الكود والشرح خطوة بخطوة:

الخطوة 2: افتح res -> layout -> activity_main.xml (أو) main.xml وأضف الكود التالي:
في هذه الخطوة ، نفتح ملف xml ونضيف الكود لعرض منتقي البيانات مع وضع spinner وزر للحصول على التاريخ من منتقي البيانات.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <DatePicker android:id="@+id/simpleDatePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#150" android:datePickerMode="spinner" /> <Button android:id="@+id/submitButton" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_below="@+id/simpleDatePicker" android:layout_centerHorizontal="true" android:layout_marginTop="50dp" android:background="#150" android:text="SUBMIT" android:textColor="#fff" android:textSize="20sp" android:textStyle="bold" /> </RelativeLayout>
الخطوة 3: افتح التطبيق -> الحزمة -> النشاط الرئيسي. جافا
في هذه الخطوة ، نفتح MainActivity حيث نضيف الكود لبدء زر منتقي البيانات ثم نؤدي حدث onClickListener () على الزر ، لذلك كلما نقر المستخدم على الزر ، سيتم عرض يوم الشهر والشهر والسنة باستخدام خبز محمص.
package example.abhiandroid.datepickerexample; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.DatePicker; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { DatePicker simpleDatePicker; Button submit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // initiate the date picker and a button simpleDatePicker = (DatePicker) findViewById(R.id.simpleDatePicker); submit = (Button) findViewById(R.id.submitButton); // perform click event on submit button submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // get the values for day of month , month and year from a date picker String day = "Day = " + simpleDatePicker.getDayOfMonth(); String month = "Month = " + (simpleDatePicker.getMonth() + 1); String year = "Year = " + simpleDatePicker.getYear(); // display the values by using a toast Toast.makeText(getApplicationContext(), day + "\n" + month + "\n" + year, Toast.LENGTH_LONG).show(); } }); } }
المخرج :
الآن قم بتشغيل التطبيق في AVD وسترى منتقي البيانات DatePicker سيظهر على الشاشة. اختر التاريخ والشهر والسنة وانقر فوق إرسال. سيظهر التاريخ الذي حددته على الشاشة.

مثال على DatePickerDialog في Android Studio
مثال 2: في المثال الثاني نعرض استخدام مربع حوار منتقي التاريخ DatePicker في تطبيقنا ، لذلك نعرض نص تحرير في ملف xml الخاص بنا وننفذ حدث onClickListener () عليه. لذلك كلما نقر المستخدم عليها يظهر مربع حوار منتقي التاريخ ومن هناك يمكن للمستخدم ضبط التاريخ وبعد تحديد التاريخ سيتم عرضه في نص التعديل . فيما يلي الإخراج النهائي ، قم بتنزيل الكود والبرنامج التعليمي خطوة بخطوة:

الخطوة 2: افتح res -> layout -> activity_main. xml (أو) main.xml وأضف الكود التالي:
في هذه الخطوة ، نفتح ملف xml ونضيف الكود لعرض نص التحرير الذي سيُستخدم لعرض تاريخ منتقي البيانات DatePicker .
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <EditText android:id="@+id/date" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:background="#d4d4d4" android:hint="Select Date..." android:padding="15dp" android:textColor="#897" android:textColorHint="#090" android:textSize="20sp" android:textStyle="bold" /> </RelativeLayout>
الخطوة 3: افتح src -> package -> MainActvity. جافا
في هذه الخطوة ، نفتح MainActivity حيث نضيف الرمز لبدء تحرير النص لعرض التاريخ (يوم من الشهر والشهر والسنة) من منتقي التاريخ DatePicker وتنفيذ حدث النقر على تحرير النص ، لذلك كلما نقر المستخدم على تحرير النص ، مربع حوار منتقي DatePicker التاريخ من هناك يمكن للمستخدم تحديد التاريخ عن طريق اختيار يوم الشهر والشهر والسنة ، وبعد تحديد التاريخ سيتم عرضه في نص التعديل.
package example.abhiandroid.datepickerexample; import android.app.DatePickerDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.DatePicker; import android.widget.EditText; import java.util.Calendar; public class MainActivity extends AppCompatActivity { EditText date; DatePickerDialog datePickerDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // initiate the date picker and a button date = (EditText) findViewById(R.id.date); // perform click event on edit text date.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // calender class's instance and get current date , month and year from calender final Calendar c = Calendar.getInstance(); int mYear = c.get(Calendar.YEAR); // current year int mMonth = c.get(Calendar.MONTH); // current month int mDay = c.get(Calendar.DAY_OF_MONTH); // current day // date picker dialog datePickerDialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // set day of month , month and year value in the edit text date.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); } }, mYear, mMonth, mDay); datePickerDialog.show(); } }); } }
المخرجات :
الآن قم بتشغيل التطبيق في Emulator واملأ التاريخ في خيار EditText.
