Android:如何更改 Datepicker 小部件中日期选择器的颜色? [英] Android: How to change the color of the dateselector in Datepicker widget?

查看:28
本文介绍了Android:如何更改 Datepicker 小部件中日期选择器的颜色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我第一次发布问题.

this is my first time posting a question.

我已在我的应用中成功实现了 Datepicker(仅针对 SDK 21 及更高版本).我还想设计我的 Datepicker 以与应用程序的其余部分融合.这就是我所拥有的:

I've successfully implemented a Datepicker in my app (targeting only SDK 21 and above). I also want to style my Datepicker to blend with the rest of the app. This is what I have:

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

我在日历中找不到更改日期选择器颜色的属性.此处没有列出任何属性.但是,我能够使用属性yearListSelectorColor"更改年份选择器的颜色(请参见屏幕截图的右侧).如何在左侧为相应的选择器和选定的文本颜色着色?

I can't find the attribute to change the color of the day selector in the calendar. No attribute listed here does that. However I was able to change the color of the year selector (see right side of the screenshot) with the attribute "yearListSelectorColor". How can I color the corresponding selector and selected text color on the left side?

澄清一下,这就是我的 Datepicker 的样子:截图

To clarify, this is what my Datepicker looks like: Screenshots

所以如果有人知道如何摆脱那种标准的青色,请告诉我.

So if someone knows how to get rid of that standard teal color, please tell me.

谢谢!

推荐答案

好吧,我想我明白了.

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

I tried desperately to find an attribute in MyDatePickerStyle. The solution came to my mind when I rethought the whole inheritance hierarchy. I just had to add the colorAccent to the 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 获取原色.

Somehow I thought every theme gets the primary colors from the AppTheme automatically.

所以希望这会在未来对某人有所帮助.

So hopefully this will help someone in the future.

这篇关于Android:如何更改 Datepicker 小部件中日期选择器的颜色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆