更改 DatePicker 文本颜色
Change DatePicker Text Color
我想更改 DatePicker
的文本颜色。
我已经尝试了此处找到的一些建议,但没有任何效果。
文本颜色和所选背景保持不变。
顶部 header 背景确实发生了变化。
<style name="MyThemeDesign" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/btnColor</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:headerBackground">@color/orange</item>
<item name="android:text">@color/white</item>
<item name="android:calendarTextColor">@color/white</item>
<item name="android:dayOfWeekBackground">@color/white</item>
<item name="android:selectedWeekBackgroundColor">@color/colorRed</item>
<item name="android:yearListSelectorColor">@color/colorRed</item>
<item name="android:colorPrimary">@color/white</item>
<item name="android:colorPrimaryDark">@color/white</item>
<item name="android:colorBackgroundCacheHint">@color/colorRed</item>
<item name="colorAccent">@color/white</item>
<item name="android:textColorPrimary">@color/white</item>
<item name="android:datePickerMode">calendar</item>
<item name="android:minDate">01/01/2017</item>
</style>
在styles.xml
中:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.DeviceDefault.DatePicker">
<item name="android:headerBackground">@color/red</item>
<item name="android:headerMonthTextAppearance">@style/MyDatePickerTextAppearance</item>
</style>
<style name="MyDatePickerTextAppearance" parent="TextAppearance.AppCompat.Body1">
<item name="android:textColor">@drawable/my_color_state_list</item>
</style>
drawable/my_color_state_list.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Month color -->
<item android:color="@color/yellow" android:state_selected="true"/>
<!-- Year color -->
<item android:color="@color/purple" />
</selector>
如果你也想控制选中日期的颜色,那就把这个主题添加到style.xml
:
<style name="MyDatePickerTheme" parent="AppTheme">
<item name="colorAccent">@color/blue</item>
</style>
布局中:
<DatePicker
android:theme="@style/MyDatePickerTheme"
.../>
结果:
我想更改 DatePicker
的文本颜色。
我已经尝试了此处找到的一些建议,但没有任何效果。 文本颜色和所选背景保持不变。
顶部 header 背景确实发生了变化。
<style name="MyThemeDesign" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/btnColor</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:headerBackground">@color/orange</item>
<item name="android:text">@color/white</item>
<item name="android:calendarTextColor">@color/white</item>
<item name="android:dayOfWeekBackground">@color/white</item>
<item name="android:selectedWeekBackgroundColor">@color/colorRed</item>
<item name="android:yearListSelectorColor">@color/colorRed</item>
<item name="android:colorPrimary">@color/white</item>
<item name="android:colorPrimaryDark">@color/white</item>
<item name="android:colorBackgroundCacheHint">@color/colorRed</item>
<item name="colorAccent">@color/white</item>
<item name="android:textColorPrimary">@color/white</item>
<item name="android:datePickerMode">calendar</item>
<item name="android:minDate">01/01/2017</item>
</style>
在styles.xml
中:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.DeviceDefault.DatePicker">
<item name="android:headerBackground">@color/red</item>
<item name="android:headerMonthTextAppearance">@style/MyDatePickerTextAppearance</item>
</style>
<style name="MyDatePickerTextAppearance" parent="TextAppearance.AppCompat.Body1">
<item name="android:textColor">@drawable/my_color_state_list</item>
</style>
drawable/my_color_state_list.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Month color -->
<item android:color="@color/yellow" android:state_selected="true"/>
<!-- Year color -->
<item android:color="@color/purple" />
</selector>
如果你也想控制选中日期的颜色,那就把这个主题添加到style.xml
:
<style name="MyDatePickerTheme" parent="AppTheme">
<item name="colorAccent">@color/blue</item>
</style>
布局中:
<DatePicker
android:theme="@style/MyDatePickerTheme"
.../>
结果: