2015-01-02 4 views
3

Я хочу изменить по умолчанию «зеленый» цвет Material Design DatePicker с помощью AppCompat, но я ничего не нашел.Android DatePicker style style

Я пытался сделать что-то вроде этого, но ничего не найдено:

<item name="android:datePickerStyle">#00BCD4</item> 

Этот другой способ не позволяет мне изменить цвет, потому что minSdkVersion ..

<item name="android:calendarTextColor">#00BCD4</item> 

Можно изменить цвет для всех версий Android от API 15 до 21?

ответ

1

Вот как получить фиолетовый и оранжевый цвета на изображении ниже.

Создать пользовательскую тему для DatePicker в файле styles.xml:

<style name="MyDatePickerTheme" parent="Theme.AppCompat.Light.Dialog.Alert"> 
     <item name="colorAccent">@android:color/holo_purple</item> 
     <item name="android:windowBackground">@drawable/date_picker_background</item> 
    </style> 

Обратите внимание, что эта тема ссылается на собственный фон для выбора даты в папке вытяжке ресурсов. Так создать Drawable ресурс с именем date_picker_background.xml и поместить это в нем:

<?xml version="1.0" encoding="utf-8"?> 
<inset xmlns:android="http://schemas.android.com/apk/res/android" 
    android:insetLeft="16dp" 
    android:insetTop="16dp" 
    android:insetRight="16dp" 
    android:insetBottom="16dp"> 
    <shape android:shape="rectangle"> 
     <corners android:radius="2dp" /> 
     <solid android:color="@android:color/holo_orange_dark" /> 
    </shape> 
</inset> 

Наконец, вы должны ссылаться на эту тему, когда вы создаете экземпляр DatePickerDialog:

DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), 
    R.style.MyDatePickerTheme, this, year, month, day); 

Мое объяснение здесь был адаптирован из this better, more complete explanation of DatePicker styling.

enter image description here

+0

Полезно знать, thx! – Flayn