DatePickerDialog标题背景颜色

时间:2017-09-05 02:09:26

标签: android android-6.0-marshmallow

我为DatePickerDialog背景设置了一个样式,它在Nexus 5(Marshmallow)上的显示方式不同:

enter image description here

我正在使用的风格是:

<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控制,但现在它显示为黑色。标题的背景是灰色的,我喜欢白色。 Marshmallow这些商品的名称是什么?

3 个答案:

答案 0 :(得分:5)

您可以使用此styletheme配置更改文字和标题颜色。但是,我认为它并不比默认的对话框选择器更漂亮。

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

在API 22,23,25上测试 enter image description here

答案 1 :(得分:0)

这些项目的名称对于所有Android版本都是相同的&gt; Andoid 5.0 Lollipop符合材料设计。

您可以尝试添加父级并覆盖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相同。

希望这有帮助。

答案 2 :(得分:0)

通过更新对话框的textView样式

来解决这个问题