2017-02-21 14 views
4

У меня есть DatePicker, который показывает заголовок на леденец, он выглядит как этот DatepickerИзменение DatePicker текста заголовка цвета

Я хочу, чтобы либо изменить цвет большой даты в заголовке от черного до белого, или удалить заголовок вообще, мне все равно. Я попытался изменить textColorPrimary, textColor и titleTextColor, но это не влияет.

+0

Пожалуйста, проверьте это: http://stackoverflow.com/a/29014475/6005977 –

ответ

4

Ну, я не знаю, что такое родительский тема, которую у вас есть для темы «Выбор даты». Допустим, у вас есть специальная тема для выбора даты, как показано ниже,

<style name="yourCustomStyle" parent="Theme.AppCompat.Light"> 

Теперь Ctrl + щелчок на Theme.AppCompat.Light, который ведет вас к новому;), где вы можете найти то, что вы ищете смысл здесь ваша проблема касается только текста главы, но вы можете изменить цвет другого вида, так что это то место, которое вам нужно посмотреть.

И в ответ создать собственную тему, как показано ниже, и добавить этот атрибут с цветом вы любите

android:textColorPrimaryInverse

должны сделать трюк для вас.

<style name="yourCustomStyle" parent="Theme.AppCompat.Light"> 
     <item name="colorAccent">@color/blue</item> 
     <item name="android:textColorPrimaryInverse">@color/yellow</item> 
     .. other 
    </style> 

Не стесняйтесь использовать свои собственные цвета и код (я скопировал код из this), и он будет делать эту работу!

new DatePickerDialog(MainActivity.this, R.style.yourCustomStyle, new DatePickerDialog.OnDateSetListener() { 
    @Override 
    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 

    } 
}, 2015, 02, 26).show(); 

enter image description here enter image description here

Image: андроид: textColorPrimaryInverse с Theme.AppCompat.Dialog

+0

Yup, вот и все. Я не понимаю, как я должен был найти, что менять (Ctrl + click показывает мне огромный список, а datepicker не упоминается), но важно то, как это выглядит так, как я хочу, чтобы он выглядел. Благодаря! – TimSim

+1

И в случае, если кто-то хочет знать, что год изменился с помощью 'textColorSecondaryInverse' – TimSim

+0

@TimSim да его огромный список и немного прокрутка есть раздел цветов, если вы не знаете об атрибутах, которые вы можете просто скопировать весь набор цветов изменить их цвета и посмотреть разницу, или вам нужно пройти один за другим с помощью сайта разработчиков Android и получить хорошую идею! –

0

Попробуйте, это может помочь вам:

редактировать свои styles.xml как:

<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog"> 
     <item name="colorAccent">@color/white</item> 
</style> 

И добавить ниже строки в код:

new DatePickerDialog(MainActivity.this, R.style.DialogTheme, new DatePickerDialog.OnDateSetListener() { 
@Override 
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
    //DO SOMETHING 
    } 
}, 2015, 02, 26).show(); 
+0

'colorAccent 'не меняет цвет текста заголовка, только кнопки OK и CANCEL, а также текущий выбранный день в календаре (теперь это бирюзовый). – TimSim

2

я в состоянии изменить дату цвет в заголовке, дающий настраиваемую тему CustomDatePickerDialogTheme на мой datePicker Dialog Фрагмент:

<style name="CustomDatePickerDialogTheme" parent="Theme.AppCompat.Light.Dialog"> 
    <item name="android:datePickerStyle">@style/CustomDatePickerStyle</item> 
</style> 

<style name="CustomDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker"> 
    <item name="android:headerMonthTextAppearance">@style/HeaderTextStyle</item> 
</style> 

<style name="HeaderTextStyle" parent="@android:style/TextAppearance.Medium"> 
    <item name="android:textColor">@color/colorAccent</item> 
</style> 
+0

Просто попробовал, colorAccent (я установил его на # ff00ff, чтобы быть очевидным) нигде не появляется – TimSim

+0

Как вы устанавливаете диалоговое окно «CustomDatePickerDialogTheme»? –

+0

Я не понимаю вопроса. Я скопировал то, что вы написали, чтобы проверить его. 'HeaderTextStyle' вступает в силу (изменение' TextAppearance.Medium' на 'TextAppearance.Large' изменяет размер шрифта), но цвет игнорируется. – TimSim