2017-09-05 237 views
1

我设置了DatePickerDialog背景风格,不同的看法显示了在Nexus 5(棉花糖):DatePickerDialog标题背景颜色

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是金)

年的顶部应该由控制,但现在它显示为黑色。标题的背景是灰色的,我想要白色。这些棉花糖物品的名称是什么?

回答

1

TextView的风格,您可以使用此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

+0

我不得不为按钮指定' @ color/colorAccent'而不是' @ color/colorAccent',但这很好! – MPelletier

0

这些项目的名称是相同的所有Android版本> Andoid 5.0 Lollipop将与材料设计complient。

你可以尝试添加一个家长和覆盖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。

希望这会有所帮助。

+0

年改变了(不知何故?),标题背景没有。它仍然是灰色的。 – MPelletier

+0

在应用主题中覆盖,或者直接在代码中使用此样式? – Cochi

+0

直接在代码中。作为测试,我将它添加到应用程序主题中,并将其从代码中删除,并获得相同的显示。 – MPelletier

0

我已经被更新修复这个的对话框

+0

我不明白你写的是什么。你能给出一个代码示例吗? – MPelletier