Material 日期范围选择器选择颜色格式

Material Date Range Picker selection color formatting

当您 select 在范围选择器中选择两个日期时,中间日期会突出显示。如何更改中间日期的颜色?

您可以将样式定义为:

  <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>