Date Pickers

Un picker es un diálogo que permite elegir una fecha.

¿Cómo se añade?

I. En tu archivo build.gradle añade la última versión de la librería appcompat.

dependencies {  
    compile 'com.android.support:appcompat-v7:X.X.X' 
    // X.X.X especifica la versión
}

II. Haz que tu Activity extienda de android.support.v7.app.AppCompatActivity e implement la interfaz DatePickerDialog.OnDateSetListener.

public class MainActivity extends AppCompatActivity  
    implements DatePickerDialog.OnDateSetListener {

IV. Crea tu DatePickerDialog con un context, la implementación del listener y el día, mes y año de inicio en picker de fecha.

DatePickerDialog datePickerDialog =  
    new DatePickerDialog(context, this, 2017, 0, 25);

¿Cómo modificar el estilo?

I. Declara un archivo drawable drawable.xml para el fondo del dialog.

<?xml version="1.0" encoding="utf-8"?>  
<!-- From: support/v7/appcompat/res/drawable/abc_dialog_material_background_light.xml -->  
<inset xmlns:android="http://schemas.android.com/apk/res/android"  
    android:insetLeft="16dp"
    android:insetTop="16dp"
    android:insetRight="16dp"
    android:insetBottom="16dp">

    <shape android:shape="rectangle">
        <corners android:radius="2dp" />
        <solid android:color="@color/indigo" />
    </shape>

</inset>  

II. Declara tus estilos personalizados dentro del archivo de estilos styles.xml.

<style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">  
    <item name="colorControlNormal">@android:color/white</item>
    <item name="colorControlActivated">@color/pink</item>
    <item name="textColorAlertDialogListItem">@android:color/white</item>
    <item name="colorAccent">@color/pink</item>
    <item name="android:textColorPrimary">@android:color/white</item>
    <item name="android:windowBackground">@drawable/background_dialog</item>
</style>  

III. Configura tu estilo personalizado como parámetro en el constructor del DatePickerDialog.

DatePickerDialog datePickerDialog = new DatePickerDialog(  
    this, R.style.MyDialogTheme, this, 2016, 21, 3);

IV. Muestra tu DatePickerDialog con el método show.

datePickerDialog.show();