我今天想将自定义设置为MaterialDatePicker
。
但是它默认获取系统日期。有想法吗?
答案 0 :(得分:1)
评论太久。这个答案并不能解决您的问题,而只是解释了为什么无法做到这一点。
当前(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>