2015-05-28 158 views
8

這是我第一次發佈問題。Android:如何更改Datepicker小部件中的日期選擇器的顏色?

我已經在我的應用程序中成功實現了Datepicker(僅針對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

所以,如果有人知道如何擺脫這一標準水鴨色的,請告訴我。

謝謝!

回答

16

好吧,我想我明白了。

我拼命想在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中獲取原色。

所以希望這將有助於未來的人。

+0

這對我不起作用,日期選擇器沒有改變 –

+0

這工作https://stackoverflow.com/a/48551810/1621111 –

相關問題