MaterialDatePicker:今天如何设置自定义
MaterialDatePicker : how to set custom today
我想将今天的自定义设置为 MaterialDatePicker
。
但它默认获取系统日期。有什么想法吗?
评论太长了。这个答案并没有解决你的问题,只是解释了为什么不可能这样做。
目前(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>
我想将今天的自定义设置为 MaterialDatePicker
。
但它默认获取系统日期。有什么想法吗?
评论太长了。这个答案并没有解决你的问题,只是解释了为什么不可能这样做。
目前(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>