Currently the Android Design library does not include Material Design picker dialogs that are compatible with all Android versions supported by the support libraries (API level 9 at the time of writing). Only Android versions starting with Lollipop implement Material Design picker dialogs, and some minor details (such as the time picker transition) were only added with the release of Android Nougat.
As such, I'd love to see an official date and time picker implementation as part of the Material Components library. The official Material Design specification can be found here.
At least all devices below Android Lollipop, for the time picker transition all devices below Android Nougat. Material Components for other platforms don't include picker dialogs as well.
While not directly related to this issue, I'd like to propose and dicuss a minor change to the Material Design specification for time pickers that would make them more versatile and consistent with the date picker:

The advantages of this time picker design would be:
The main disadvantage is that this makes for slightly smaller touch areas.
I'm already exited how this library will develop, now that it is finally open to contributions by the community. Definitely a step in the right direction! 馃憤
If you're interested in a pull request, let me know. I've already implemented a major part of this in my extension library, it would still need some updates from the Nougat source code though.
Date pickers with solutions for "memorable dates" - dates like birthdays where day of week isn't relevant - and date rangers are being worked on currently for Q1 2019.
Any news on this?
It's being worked on in https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/picker, but it's not part of the public API yet.
We're currently trying to make sure we have a cohesive design (from a look and accessibility standpoint) for both "Memorable Date" pickers (e.g., choosing your birthday) and range pickers (e.g., booking a hotel). These are being actively worked on and you will likely see code in github as linked above with an API that could still change.
Thank you for the update. Any idea how long we'll have to wait before the pickers are usable? Like days, weeks, months?
Sorry for the delay. We just got final designs for this. I am expecting late March for code in github, but I am not sure when that will make it to an alpha or stable release.
Didnt this just come out in 1.1.0-alpha05?
When will you release this in stable version?
edit:
sorry I'm referring to MaterialDatePickerDialogFragment on alpha07 which was changed to
MaterialStyledDatePickerDialog on alpha08
In alpha09 we've added MaterialDatePicker[.Builder] which supports both single date and range selection mode. This component is under active development, so please send in your feedback regarding your use cases and needs including API requests. Furthermore, we'd especially love to know which apps it's going into.
Right now we know of a couple major issues:
There are also minor visual issues we plan to fix. Let us know what is and isn't working for you.
@ldjcmu Currently using it in my app (also still in active development). I'm looking for a way to set the current selected programmatically either when creating the dialog or after the dialog has been created. Something in the like of:
MaterialDatePicker.select(long selection)
I do see it in DateSelector:
/**
* Allows this selection handler to respond to clicks within the {@link AdapterView}.
*
* @param selection The selected day represented as time in UTC milliseconds.
*/
void select(long selection);
but it doesn't seem exposed.
Good stuff so.
@ldjcmu Currently using it in my app (also still in active development). I'm looking for a way to set the current selected programmatically either when creating the dialog or after the dialog has been created. Something in the like of:
MaterialDatePicker.select(long selection)I do see it in DateSelector:
/** * Allows this selection handler to respond to clicks within the {@link AdapterView}. * * @param selection The selected day represented as time in UTC milliseconds. */ void select(long selection);but it doesn't seem exposed.
Good stuff so.
This was tracked and fixed at https://github.com/material-components/material-components-android/issues/481#issuecomment-519646759
Most helpful comment
In alpha09 we've added MaterialDatePicker[.Builder] which supports both single date and range selection mode. This component is under active development, so please send in your feedback regarding your use cases and needs including API requests. Furthermore, we'd especially love to know which apps it's going into.
Right now we know of a couple major issues:
There are also minor visual issues we plan to fix. Let us know what is and isn't working for you.