2017-09-05 238 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