You can save it programmatically, no need to create new XML using spinner, I just changed AppTheme (v21) style and it worked; -)
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="colorControlActivated">@color/colorPrimary</item> <item name="android:timePickerDialogTheme">@style/PickerDialogCustom</item> <item name="android:datePickerDialogTheme">@style/PickerDialogCustom</item> <item name="alertDialogTheme">@style/AlertDialogCustom</item> </style> <style name="PickerDialogCustom" parent="AlertDialogCustom"> <item name="android:textColor">@color/colorPrimary</item> <item name="android:textColorPrimary">@color/colorPrimaryDark</item> <item name="colorControlNormal">@color/greyLight500</item> <item name="android:layout_margin">2dp</item> <item name="android:datePickerMode">spinner</item> </style> <style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorAccent">@color/colorPrimary</item> <item name="android:positiveButtonText">@color/colorPrimary</item> <item name="android:negativeButtonText">@color/greyDark200</item> <item name="buttonBarNegativeButtonStyle">@style/negativeButton</item> <item name="android:datePickerStyle">@style/PickerDialogCustom</item> </style>
don't forget to keep support <21 just by adding this line, this command is ignored when> = 21
datePickerDialog.getDatePicker().setLayoutMode(1);
source share