【发布时间】:2020-03-17 02:14:40
【问题描述】:
我今天想将自定义设置为MaterialDatePicker。
但它默认获取系统日期。有什么想法吗?
【问题讨论】:
标签: android material-design android-datepicker material-components material-components-android
我今天想将自定义设置为MaterialDatePicker。
但它默认获取系统日期。有什么想法吗?
【问题讨论】:
标签: android material-design android-datepicker material-components material-components-android
评论太长了。此答案并不能解决您的问题,而只是解释了为什么无法做到这一点。
目前(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>
【讨论】: