Цветовое форматирование выбора диапазона дат материала

Когда вы выбираете две даты в средстве выбора диапазона, выделяются промежуточные даты. Как изменить цвет промежуточных дат?

datepicker


comment
используйте этот github.com/savvisingh/DateRangePicker   -  person Sanjay Chauhan    schedule 01.06.2020


Ответы (1)


Вы можете определить стиль как:

  <style name="MaterialCalendarTheme_RangeFill" parent="ThemeOverlay.MaterialComponents.MaterialCalendar">
    <item name="materialCalendarStyle">@style/MyMaterialCalendar</item>
  </style>
  <style name="MyMaterialCalendar"  parent="Widget.MaterialComponents.MaterialCalendar">
    <item name="rangeFillColor">@color/my_calendar_range</item>
  </style>

с этим селектором:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:alpha="..." android:color="@color/...."/>
</selector>

Затем в вашем коде:

MaterialDatePicker.Builder<Pair<Long, Long>> builderRange =
        MaterialDatePicker.Builder.dateRangePicker();
builderRange.setTheme(R.style.MaterialCalendarTheme_RangeFill);

введите здесь описание изображения

Если вы хотите полностью изменить цвет только в MaterialDatePicker, вы также можете использовать что-то вроде:

  <style name="MaterialCalendarTheme_RangeFill" parent="ThemeOverlay.MaterialComponents.MaterialCalendar">
    <item name="colorPrimary">@color/....</item>
  </style>

введите здесь описание изображения

person Gabriele Mariotti    schedule 01.06.2020
comment
что, если я хочу изменить только цвет заголовка? как это сделать? и если можно изменить размер заголовка ВЫБЕРИТЕ ДИАПАЗОН ДАТ ? - person Rooh Al-mahaba; 17.06.2020
comment
@RoohAl-mahaba Да, вы можете изменить их, используя атрибуты materialCalendarHeaderLayout и materialCalendarHeaderTitle в оверлее темы календаря. - person Gabriele Mariotti; 17.06.2020
comment
можете ли вы ответить на мой вопрос примерами, пожалуйста, я разместил вопрос, спасибо за вашу помощь - person Rooh Al-mahaba; 17.06.2020
comment
Что такое materialCalendarHeaderLayout? - person IgorGanapolsky; 31.12.2020