Android DatePicker颜色样式

时间:2015-01-02 16:06:21

标签: android datepicker android-appcompat

我想使用AppCompat更改Material Design DatePicker的默认“绿色”颜色,但我没有发现任何相关内容。

我试图做这样的事情,但没有结果:

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

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

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

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

1 个答案:

答案 0 :(得分:1)

这是如何在下面的图像中获得紫色和橙色。

在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>

请注意,此主题引用了drawable资源文件夹中日期选择器的自定义背景。因此,创建一个名为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.

enter image description here