MaterialDatePicker: как настроить кастом сегодня - PullRequest
0 голосов
/ 21 ноября 2019

Я хочу установить на сегодня значение MaterialDatePicker. Но он получает системную дату по умолчанию. Есть идеи?

1 Ответ

1 голос
/ 21 ноября 2019

Слишком долго для комментария. Этот ответ не решает ваш вопрос, но объясняет, почему это невозможно.

В настоящее время (1.1.0-beta02 и 1.2.0-alpha02) вы не можете настроить значение из today.
В адаптере, используемом MaterialDatePicker, вы можете проверить:

if (UtcDates.getTodayCalendar().getTimeInMillis() == date) {
    calendarStyle.todayDay.styleItem(day);
    //..
  } else {
    calendarStyle.day.styleItem(day);
    //..
  }

Вы можетенастроить стиль , используемый Day.Today.

 <style name="CustomThemeOverlay.MaterialComponents.MaterialCalendar"
       parent="ThemeOverlay.MaterialComponents.MaterialCalendar" >
   <item name="materialCalendarStyle">@style/CustomWidget_MaterialCalendar</item>
 </style>

 <style name="CustomWidget_MaterialCalendar" parent="Widget.MaterialComponents.MaterialCalendar">
    <item name="dayTodayStyle">@style/CustomWidget_DayToday</item>
  </style>

  <style name="CustomWidget_DayToday" parent="Widget.MaterialComponents.MaterialCalendar.Day.Today">
     <item name="itemTextColor">@color/...</item>
     <item name="itemStrokeColor">@color/...</item>
  </style>
...