Android:如何更改日期选择器小部件中日期选择器的颜色?

标签 android colors datepicker calendar selector

这是我第一次发布问题。

我已经在我的应用程序中成功实现了一个日期选择器(仅针对 SDK 21 及更高版本)。我还想设计我的 Datepicker 样式以与应用程序的其余部分融合。这是我的:

<style name="MyDatePickerDialogTheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
    <item name="android:colorAccent">@color/primDark</item>
</style>

<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
    <item name="android:headerBackground">@color/prim</item>
    <item name="android:calendarTextColor">@color/primDark</item>
    <item name="android:dayOfWeekBackground">@color/primDark</item>
    <item name="android:yearListSelectorColor">@color/accent</item>
    <item name="android:datePickerMode">calendar</item>
</style>

我在日历中找不到更改日期选择器颜色的属性。未列出属性 here这样做。但是,我能够使用属性“yearListSelectorColor”更改年份选择器的颜色(请参见屏幕截图的右侧)。如何在左侧为相应的选择器和选定的文本颜色着色?

澄清一下,这是我的日期选择器的样子:Screenshots

因此,如果有人知道如何去除标准蓝绿色,请告诉我。

谢谢!

最佳答案

好的,我想我明白了。

我拼命地试图在 MyDatePickerStyle 中找到一个属性。当我重新考虑整个继承层次结构时,我想到了解决方案。我只需将 colorAccent 添加到 MyDatePickerDialogTheme。

<style name="MyDatePickerDialogTheme" parent="Theme.AppCompat.Light.Dialog">
    <!-- this is new -->
    <item name="colorAccent">@color/accent</item>

    <item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
    <item name="android:colorAccent">@color/primDark</item>
</style>

<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
    <item name="android:headerBackground">@color/prim</item>
    <item name="android:calendarTextColor">@color/primDark</item>
    <item name="android:dayOfWeekBackground">@color/primDark</item>
    <item name="android:yearListSelectorColor">@color/accent</item>
    <item name="android:datePickerMode">calendar</item>
    <item name="android:minDate">01/01/2000</item>
</style>

不知何故,我认为每个主题都会自动从 AppTheme 获取原色。

希望这对将来的人有所帮助。

关于Android:如何更改日期选择器小部件中日期选择器的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30511743/

相关文章:

java - Android:在 ListView header 中设置文本

java - 我如何在 Java 中确定图像的色彩空间?

fonts - 如何在 PyCharm 中更改终端字体颜色

javascript - 添加 InnerHTML 时 Jquery DatePicker 不起作用

android - 如何在我的 Android SDK 环境中安装 Open NFC 插件

android - 如何获取当前语言环境(API 级别 24)?

android - 如何从recyclerView中删除商品?

具有 getSize().width、getSize().height 的 Java 小程序

javascript - Bootstrap 3 Datepicker不显示日历

javascript - jQuery 日期选择器验证失败