Android: 如何更改日期选择器小部件中日期选择器的颜色?
Android: How to change the color of the dateselector in Datepicker widget?
这是我第一次发帖提问。
我已经在我的应用程序中成功实现了日期选择器(仅针对 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 获取原色。
希望这对以后的人有所帮助。
要更改 DatePicker 中选择器圆圈的颜色,请在您的主题中使用 android:colorControlActivated
属性。
这是我第一次发帖提问。
我已经在我的应用程序中成功实现了日期选择器(仅针对 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 获取原色。
希望这对以后的人有所帮助。
要更改 DatePicker 中选择器圆圈的颜色,请在您的主题中使用 android:colorControlActivated
属性。