DatePickerDialog header 背景色
DatePickerDialog header background color
我已经为 DatePickerDialog 背景设置了样式,它在 Nexus 5 (Marshmallow) 上的显示方式有所不同:
我使用的样式是:
<style name="datepicker">
<item name="android:background">@color/android:white</item>
<item name="android:textColorPrimaryInverse">@color/android:black</item>
<item name="android:textColorPrimary">@color/android:black</item>
<item name="android:textColorSecondary">@color/colorAccent</item>
<item name="android:textColorSecondaryInverse">@color/colorAccent</item>
<item name="android:textColorTertiary">@color/android:black</item>
</style>
(colorAccent
是金子)
顶部的年份应该由 textColorSecondary
控制,但现在显示为黑色。 header 的背景是灰色的,我想要白色。棉花糖的这些物品的名称是什么?
这些项目的名称对于所有 android 版本都是相同的 > Andoid 5.0 Lollipop 以符合 Material 设计。
您可以尝试添加父对象并覆盖背景的 headerBackground :
<style name="datepicker" parent="@android:style/Widget.Material.DatePicker">
<item name="android:background">@color/android:white</item>
<item name="android:textColorPrimaryInverse">@color/android:black</item>
<item name="android:textColorPrimary">@color/android:black</item>
<item name="android:textColorSecondary">@color/colorAccent</item>
<item name="android:textColorSecondaryInverse">@color/colorAccent</item>
<item name="android:textColorTertiary">@color/android:black</item>
<item name="android:headerBackground">@color/android:white</item>
</style>
但是我认为年份颜色与 textColorPrimary 相同。
希望对您有所帮助。
我已经通过更新对话框的 textView 样式解决了这个问题
您可以使用此 style
和 theme
配置更改文本和 header 颜色。但是,我认为它并不比默认对话框选择器更漂亮。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
<item name="android:datePickerDialogTheme">@style/MyDatePickerDialogTheme</item>
</style>
<style name="MyDatePickerDialogTheme" parent="android:Theme.Material.Light.Dialog">
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
<item name="android:textColorPrimaryInverse">#000</item> <!-- header date, month color && calendar text highlight color -->
<item name="android:textColorSecondaryInverse">#000</item> <!-- header year color -->
<item name="android:colorAccent">#B09A60</item> <!-- button color -->
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:headerBackground">#fff</item> <!-- header background color -->
</style>
我已经为 DatePickerDialog 背景设置了样式,它在 Nexus 5 (Marshmallow) 上的显示方式有所不同:
我使用的样式是:
<style name="datepicker">
<item name="android:background">@color/android:white</item>
<item name="android:textColorPrimaryInverse">@color/android:black</item>
<item name="android:textColorPrimary">@color/android:black</item>
<item name="android:textColorSecondary">@color/colorAccent</item>
<item name="android:textColorSecondaryInverse">@color/colorAccent</item>
<item name="android:textColorTertiary">@color/android:black</item>
</style>
(colorAccent
是金子)
顶部的年份应该由 textColorSecondary
控制,但现在显示为黑色。 header 的背景是灰色的,我想要白色。棉花糖的这些物品的名称是什么?
这些项目的名称对于所有 android 版本都是相同的 > Andoid 5.0 Lollipop 以符合 Material 设计。
您可以尝试添加父对象并覆盖背景的 headerBackground :
<style name="datepicker" parent="@android:style/Widget.Material.DatePicker">
<item name="android:background">@color/android:white</item>
<item name="android:textColorPrimaryInverse">@color/android:black</item>
<item name="android:textColorPrimary">@color/android:black</item>
<item name="android:textColorSecondary">@color/colorAccent</item>
<item name="android:textColorSecondaryInverse">@color/colorAccent</item>
<item name="android:textColorTertiary">@color/android:black</item>
<item name="android:headerBackground">@color/android:white</item>
</style>
但是我认为年份颜色与 textColorPrimary 相同。
希望对您有所帮助。
我已经通过更新对话框的 textView 样式解决了这个问题
您可以使用此 style
和 theme
配置更改文本和 header 颜色。但是,我认为它并不比默认对话框选择器更漂亮。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
<item name="android:datePickerDialogTheme">@style/MyDatePickerDialogTheme</item>
</style>
<style name="MyDatePickerDialogTheme" parent="android:Theme.Material.Light.Dialog">
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
<item name="android:textColorPrimaryInverse">#000</item> <!-- header date, month color && calendar text highlight color -->
<item name="android:textColorSecondaryInverse">#000</item> <!-- header year color -->
<item name="android:colorAccent">#B09A60</item> <!-- button color -->
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:headerBackground">#fff</item> <!-- header background color -->
</style>