2017-09-05 31 views
1

(マシュマロ)私はセットアップにDatePickerDialog背景のスタイルをした、そしてそれはネクサス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のスタイルを、これを修正されました。しかし、私はそれがデフォルトのダイアログピッカーよりも美しくないと思います。

<!-- 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 5.0のすべてのバージョンで同じです。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のと同じだと思うが。

これが役に立ちます。

+0

年(何とか?)に変更、ヘッダーの背景はしませんでした。まだ灰色です。 – MPelletier

+0

アプリテーマでをオーバーライドするか、このスタイルをコード内で直接使用していますか? – Cochi

+0

コードの中に直接。テストとして、私はそれをアプリケーションのテーマに追加し、コードから削除し、私は同じディスプレイを取得します。 – MPelletier

0

私はアップデートであなたが変更のため、このstyletheme設定テキストとヘッダの色を使用することができますダイアログ

+0

あなたが書いたことは分かりません。コード例がありますか? – MPelletier