DatePIcker in Android

DatePicker

DatePickerDialogDemo:

** DatePicker dialog demo */

public class DatePickerDialogDemo extends AppCompatActivity {

/** EditText have setOnTouchListener*/

private EditText etSelectDate;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_date_picker_dialog_demo);

/** Initialize edittext */

etSelectDate = (EditText) findViewById(R.id.activity_date_picker_dialog_demo_select_et);

/** Getting current date using utility Calendar*/

Calendar calendar = Calendar.getInstance();

final int mYear = calendar.get(Calendar.YEAR);

final int mMonth = calendar.get(Calendar.MONTH);

final int mDay = calendar.get(Calendar.DAY_OF_MONTH);

/** for first Time, edittext is set to current date */

/** Note: Month value should be added +1 */

etSelectDate.setHint(mDay+"/"+(mMonth+1)+"/"+mYear);

/** Creating date picker dialog instance and passing current date, it shows current date firstly*/

/** Note: Month value should be added +1 */

final DatePickerDialog datePickerDialog = new DatePickerDialog(DatePickerDialogDemo.this,

new DatePickerDialog.OnDateSetListener() {

@Override

public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {

etSelectDate.setText(""+i2+"/"+(i1+1)+"/"+i);

}

}, mYear,mMonth,mDay);

/** When user first time touches on edittext,dialog will be shown

* After picked date,picked date will be showned in edittext

* Note: Month value should be added +1 */

etSelectDate.setOnTouchListener(new View.OnTouchListener() {

@Override

public boolean onTouch(View view, MotionEvent motionEvent) {

datePickerDialog.show();

return true;

}

});

}

}

activity_date_picker_dialog_demo:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/activity_date_picker_dialog_demo"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context="sciens.com.toolbar.DatePickerDialogDemo">

<TextView

style="@style/NormalTextView"

android:text="Select date"

android:layout_gravity="center_horizontal" />

<EditText

android:id="@+id/activity_date_picker_dialog_demo_select_et"

style="@style/NormalEditText"

android:layout_width="match_parent"

android:layout_marginTop="20dp"

android:gravity="center_horizontal"/>

</LinearLayout>

Style:

<resources>

<style name="NormalTextView">

<item name="android:layout_width">wrap_content</item>

<item name="android:layout_height">wrap_content</item>

<item name="android:textSize">16dp</item>

<item name="android:textColor">@color/colorPrimary</item>

</style>

<style name="NormalEditText">

<item name="android:layout_width">wrap_content</item>

<item name="android:layout_height">wrap_content</item>

<item name="android:textSize">16dp</item>

<item name="android:textColorHint">@color/colorPrimary</item>

</style>

</resources>