Android DatePicker 颜色样式

Android DatePicker color style

我想使用 AppCompat 更改 Material Design DatePicker 的默认 "green" 颜色,但我没有找到任何相关信息。

我试过这样做,但没有结果:

<item name="android:datePickerStyle">#00BCD4</item> 

这种其他方式不允许我更改颜色,因为 minSdkVersion..

<item name="android:calendarTextColor">#00BCD4</item>

是否可以将所有 Android 版本的颜色从 API 15 更改为 21?

这是获得下图中紫色和橙色的方法。

在 styles.xml 文件中为 DatePicker 创建自定义主题:

    <style name="MyDatePickerTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
        <item name="colorAccent">@android:color/holo_purple</item>
        <item name="android:windowBackground">@drawable/date_picker_background</item>
    </style>

请注意,此主题引用了可绘制资源文件夹中日期选择器的自定义背景。所以创建一个名为 date_picker_background.xml 的可绘制资源并将其放入其中:

<?xml version="1.0" encoding="utf-8"?>
<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="@android:color/holo_orange_dark" />
    </shape>
</inset>

最后,在实例化 DatePickerDialog 时必须引用此主题:

DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(),
    R.style.MyDatePickerTheme, this, year, month, day);

我这里的解释改编自this better, more complete explanation of DatePicker styling.