Most visited

Recently visited

Added in API level 1

DatePicker

public class DatePicker
extends FrameLayout

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.FrameLayout
         ↳ android.widget.DatePicker


Provides a widget for selecting a date.

When the DatePicker_datePickerMode attribute is set to spinner, the date can be selected using year, month, and day spinners or a CalendarView. The set of spinners and the calendar view are automatically synchronized. The client can customize whether only the spinners, or only the calendar view, or both to be displayed.

When the DatePicker_datePickerMode attribute is set to calendar, the month and day can be selected using a calendar-style view while the year can be selected separately using a list.

See the Pickers guide.

For a dialog using this view, see DatePickerDialog.

Summary

Nested classes

interface DatePicker.OnDateChangedListener

The callback used to indicate the user changed the date. 

XML attributes

android:calendarTextColor The text color list of the calendar. 
android:calendarViewShown Whether the calendar view is shown. 
android:datePickerMode Defines the look of the widget. 
android:dayOfWeekBackground The background color for the header's day of week. 
android:dayOfWeekTextAppearance The text color for the header's day of week. 
android:endYear The last year (inclusive), for example "2010". 
android:firstDayOfWeek The first day of week according to Calendar
android:headerBackground The background for the selected date header. 
android:headerDayOfMonthTextAppearance The text appearance for the day of month (ex. 
android:headerMonthTextAppearance The text appearance for the month (ex. 
android:headerYearTextAppearance The text appearance for the year (ex. 
android:maxDate The maximal date shown by this calendar view in mm/dd/yyyy format. 
android:minDate The minimal date shown by this calendar view in mm/dd/yyyy format. 
android:spinnersShown Whether the spinners are shown. 
android:startYear The first year (inclusive), for example "1940". 
android:yearListItemTextAppearance The list year's text appearance in the list. 
android:yearListSelectorColor The list year's selected circle color in the list. 

Inherited XML attributes

From class android.widget.FrameLayout
From class android.view.ViewGroup
From class android.view.View

Inherited constants

From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public constructors

DatePicker(Context context)
DatePicker(Context context, AttributeSet attrs)
DatePicker(Context context, AttributeSet attrs, int defStyleAttr)
DatePicker(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

Public methods

CharSequence getAccessibilityClassName()

Return the class name of this object to be used for accessibility purposes.

CalendarView getCalendarView()

This method was deprecated in API level 24. Not supported by Material-style calendar mode

boolean getCalendarViewShown()

This method was deprecated in API level 24. Not supported by Material-style calendar mode

int getDayOfMonth()
int getFirstDayOfWeek()

Gets the first day of week.

long getMaxDate()

Gets the maximal date supported by this DatePicker in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone.

long getMinDate()

Gets the minimal date supported by this DatePicker in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone.

int getMonth()
boolean getSpinnersShown()

This method was deprecated in API level 24. Not supported by Material-style calendar mode

int getYear()
void init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)

Initialize the state.

boolean isEnabled()

Returns the enabled status for this view.

void setCalendarViewShown(boolean shown)

This method was deprecated in API level 24. Not supported by Material-style calendar mode

void setEnabled(boolean enabled)

Set the enabled state of this view.

void setFirstDayOfWeek(int firstDayOfWeek)

Sets the first day of week.

void setMaxDate(long maxDate)

Sets the maximal date supported by this DatePicker in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone.

void setMinDate(long minDate)

Sets the minimal date supported by this NumberPicker in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone.

void setSpinnersShown(boolean shown)

This method was deprecated in API level 24. Not supported by Material-style calendar mode

void updateDate(int year, int month, int dayOfMonth)

Update the current date.

Protected methods

void dispatchRestoreInstanceState(SparseArray<Parcelable> container)

Called by restoreHierarchyState(android.util.SparseArray) to retrieve the state for this view and its children.

void onConfigurationChanged(Configuration newConfig)

Called when the current configuration of the resources being used by the application have changed.

void onRestoreInstanceState(Parcelable state)

Hook allowing a view to re-apply a representation of its internal state that had previously been generated by onSaveInstanceState().

Parcelable onSaveInstanceState()

Hook allowing a view to generate a representation of its internal state that can later be used to create a new instance with that same state.

Inherited methods

From class android.widget.FrameLayout
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource

XML attributes

android:calendarTextColor

The text color list of the calendar.

Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol calendarTextColor.

android:calendarViewShown

Whether the calendar view is shown. Only valid for "spinner" mode.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol calendarViewShown.

android:datePickerMode

Defines the look of the widget. Prior to the L release, the only choice was spinner. As of L, with the Material theme selected, the default layout is calendar, but this attribute can be used to force spinner to be used instead.

Must be one of the following constant values.

ConstantValueDescription
spinner1 Date picker with spinner controls to select the date.
calendar2 Date picker with calendar to select the date.

This corresponds to the global attribute resource symbol datePickerMode.

android:dayOfWeekBackground

The background color for the header's day of week.

Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol dayOfWeekBackground.

android:dayOfWeekTextAppearance

The text color for the header's day of week.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This corresponds to the global attribute resource symbol dayOfWeekTextAppearance.

android:endYear

The last year (inclusive), for example "2010".

Must be an integer value, such as "100".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol endYear.

android:firstDayOfWeek

The first day of week according to Calendar.

Must be an integer value, such as "100".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol firstDayOfWeek.

Related methods:

android:headerBackground

The background for the selected date header.

May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

This corresponds to the global attribute resource symbol headerBackground.

android:headerDayOfMonthTextAppearance

The text appearance for the day of month (ex. 28) in the selected date header.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This corresponds to the global attribute resource symbol headerDayOfMonthTextAppearance.

android:headerMonthTextAppearance

The text appearance for the month (ex. May) in the selected date header.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This corresponds to the global attribute resource symbol headerMonthTextAppearance.

android:headerYearTextAppearance

The text appearance for the year (ex. 2014) in the selected date header.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This corresponds to the global attribute resource symbol headerYearTextAppearance.

android:maxDate

The maximal date shown by this calendar view in mm/dd/yyyy format.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol maxDate.

android:minDate

The minimal date shown by this calendar view in mm/dd/yyyy format.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol minDate.

android:spinnersShown

Whether the spinners are shown. Only valid for "spinner" mode.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol spinnersShown.

android:startYear

The first year (inclusive), for example "1940".

Must be an integer value, such as "100".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol startYear.

android:yearListItemTextAppearance

The list year's text appearance in the list.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This corresponds to the global attribute resource symbol yearListItemTextAppearance.

android:yearListSelectorColor

The list year's selected circle color in the list.

Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol yearListSelectorColor.

Public constructors

DatePicker

Added in API level 1
DatePicker (Context context)

Parameters
context Context

DatePicker

Added in API level 1
DatePicker (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

DatePicker

Added in API level 1
DatePicker (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context
attrs AttributeSet
defStyleAttr int

DatePicker

Added in API level 21
DatePicker (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int defStyleRes)

Parameters
context Context
attrs AttributeSet
defStyleAttr int
defStyleRes int

Public methods

getAccessibilityClassName

Added in API level 23
CharSequence getAccessibilityClassName ()

Return the class name of this object to be used for accessibility purposes. Subclasses should only override this if they are implementing something that should be seen as a completely new class of view when used by accessibility, unrelated to the class it is deriving from. This is used to fill in AccessibilityNodeInfo.setClassName.

Returns
CharSequence

getCalendarView

Added in API level 12
CalendarView getCalendarView ()

This method was deprecated in API level 24.
Not supported by Material-style calendar mode

Returns the CalendarView used by this picker.

Note: This method throws an UnsupportedOperationException when the DatePicker_datePickerMode attribute is set to calendar.

Returns
CalendarView the calendar view
Throws
UnsupportedOperationException if called when the picker is displayed in calendar mode

See also:

getCalendarViewShown

Added in API level 11
boolean getCalendarViewShown ()

This method was deprecated in API level 24.
Not supported by Material-style calendar mode

Returns whether the CalendarView is shown.

Note: This method returns false when the DatePicker_datePickerMode attribute is set to calendar.

Returns
boolean true if the calendar view is shown

See also:

getDayOfMonth

Added in API level 1
int getDayOfMonth ()

Returns
int The selected day of month.

getFirstDayOfWeek

Added in API level 21
int getFirstDayOfWeek ()

Gets the first day of week.

Related XML Attributes:

Returns
int The first day of the week conforming to the CalendarView APIs.

See also:

getMaxDate

Added in API level 11
long getMaxDate ()

Gets the maximal date supported by this DatePicker in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone.

Note: The default maximal date is 12/31/2100.

Returns
long The maximal supported date.

getMinDate

Added in API level 11
long getMinDate ()

Gets the minimal date supported by this DatePicker in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone.

Note: The default minimal date is 01/01/1900.

Returns
long The minimal supported date.

getMonth

Added in API level 1
int getMonth ()

Returns
int The selected month.

getSpinnersShown

Added in API level 11
boolean getSpinnersShown ()

This method was deprecated in API level 24.
Not supported by Material-style calendar mode

Returns whether the spinners are shown.

Note: his method returns false when the DatePicker_datePickerMode attribute is set to calendar.

Returns
boolean true if the spinners are shown

getYear

Added in API level 1
int getYear ()

Returns
int The selected year.

init

Added in API level 1
void init (int year, 
                int monthOfYear, 
                int dayOfMonth, 
                DatePicker.OnDateChangedListener onDateChangedListener)

Initialize the state. If the provided values designate an inconsistent date the values are normalized before updating the spinners.

Parameters
year int: The initial year.
monthOfYear int: The initial month starting from zero.
dayOfMonth int: The initial day of the month.
onDateChangedListener DatePicker.OnDateChangedListener: How user is notified date is changed by user, can be null.

isEnabled

Added in API level 1
boolean isEnabled ()

Returns the enabled status for this view. The interpretation of the enabled state varies by subclass.

Returns
boolean True if this view is enabled, false otherwise.

setCalendarViewShown

Added in API level 11
void setCalendarViewShown (boolean shown)

This method was deprecated in API level 24.
Not supported by Material-style calendar mode

Sets whether the CalendarView is shown.

Note: Calling this method has no effect when the DatePicker_datePickerMode attribute is set to calendar.

Parameters
shown boolean: true to show the calendar view, false to hide it

setEnabled

Added in API level 1
void setEnabled (boolean enabled)

Set the enabled state of this view. The interpretation of the enabled state varies by subclass.

Parameters
enabled boolean: True if this view is enabled, false otherwise.

setFirstDayOfWeek

Added in API level 21
void setFirstDayOfWeek (int firstDayOfWeek)

Sets the first day of week.

Related XML Attributes:

Parameters
firstDayOfWeek int: The first day of the week conforming to the CalendarView APIs.

See also:

setMaxDate

Added in API level 11
void setMaxDate (long maxDate)

Sets the maximal date supported by this DatePicker in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone.

Parameters
maxDate long: The maximal supported date.

setMinDate

Added in API level 11
void setMinDate (long minDate)

Sets the minimal date supported by this NumberPicker in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone.

Parameters
minDate long: The minimal supported date.

setSpinnersShown

Added in API level 11
void setSpinnersShown (boolean shown)

This method was deprecated in API level 24.
Not supported by Material-style calendar mode

Sets whether the spinners are shown.

Calling this method has no effect when the DatePicker_datePickerMode attribute is set to calendar.

Parameters
shown boolean: true to show the spinners, false to hide them

updateDate

Added in API level 1
void updateDate (int year, 
                int month, 
                int dayOfMonth)

Update the current date.

Parameters
year int: The year.
month int: The month which is starting from zero.
dayOfMonth int: The day of the month.

Protected methods

dispatchRestoreInstanceState

Added in API level 1
void dispatchRestoreInstanceState (SparseArray<Parcelable> container)

Called by restoreHierarchyState(android.util.SparseArray) to retrieve the state for this view and its children. May be overridden to modify how restoring happens to a view's children; for example, some views may want to not store state for their children.

Parameters
container SparseArray: The SparseArray which holds previously saved state.

onConfigurationChanged

Added in API level 8
void onConfigurationChanged (Configuration newConfig)

Called when the current configuration of the resources being used by the application have changed. You can use this to decide when to reload resources that can changed based on orientation and other configuration characteristics. You only need to use this if you are not relying on the normal Activity mechanism of recreating the activity instance upon a configuration change.

Parameters
newConfig Configuration: The new resource configuration.

onRestoreInstanceState

Added in API level 1
void onRestoreInstanceState (Parcelable state)

Hook allowing a view to re-apply a representation of its internal state that had previously been generated by onSaveInstanceState(). This function will never be called with a null state.

Parameters
state Parcelable: The frozen state that had previously been returned by onSaveInstanceState().

onSaveInstanceState

Added in API level 1
Parcelable onSaveInstanceState ()

Hook allowing a view to generate a representation of its internal state that can later be used to create a new instance with that same state. This state should only contain information that is not persistent or can not be reconstructed later. For example, you will never store your current position on screen because that will be computed again when a new instance of the view is placed in its view hierarchy.

Some examples of things you may store here: the current cursor position in a text view (but usually not the text itself since that is stored in a content provider or other persistent storage), the currently selected item in a list view.

Returns
Parcelable Returns a Parcelable object containing the view's current dynamic state, or null if there is nothing interesting to save. The default implementation returns null.

Hooray!