我正在尝试对此MaterialCalendal
进行样式设置,但我没有得到任何帮助,如果您能提供任何帮助,我将不胜感激。 我的styles.xml
类似于以下内容:
<style name="AppTheme" parent="Theme.MaterialComponents">
<item name="materialCalendarTheme">@style/ThemeMaterialCalendar</item>
</style>
<style name="ThemeMaterialCalendar" parent="ThemeOverlay.MaterialComponents.MaterialCalendar">
<item name="buttonBarPositiveButtonStyle">@style/AlterDialogButtonStyle</item>
<item name="buttonBarNegativeButtonStyle">@style/AlterDialogButtonStyle</item>
<item name="materialButtonStyle">@style/ThemeMaterialCalendarTextButton</item>
<item name="android:colorAccent">@color/accent</item>
</style>
<style name="ThemeMaterialCalendarTextButton" parent="Widget.MaterialComponents.Button.TextButton.Dialog.Flush">
<item name="android:textColor">?attr/colorAccent</item>
</style>
<style name="AlterDialogButtonStyle" parent="Widget.MaterialComponents.Button.TextButton">
<item name="android:textColor">?attr/colorAccent</item>
</style>
它呈现如下内容:
非常浅的蓝色/青色是我的颜色重音
标题是紫色-y颜色。 这些都很好。 我能够用上面的styles.xml
更改它们。
不过,我还想将MaterialCalendal
的深灰色背景更改为白色,当然,然后将文本从白色更改为黑色或灰色(这样可以看到),以及为月份和年份选择设置箭头。 任何选定的年或日都应使用强调颜色突出显示。
本质上,我想要与此类似的内容(请忽略以下屏幕截图是旧的DatePickerDialog/code>,而不是新的
MaterialCalendal
):
如有任何帮助,我们将不胜感激。
PS:我不想改变任何我的主,次要或强调的颜色为整个应用程序(因为它会破坏其余的配色方案)
MaterialDatePicker
的背景色基于ColorSurface
属性。
您可以使用MaterialDatePicker
的自定义主题来覆盖它:
<style name="MaterialCalendarThemeBackground" parent="ThemeOverlay.MaterialComponents.MaterialCalendar">
<item name="colorSurface">@color/....</item>
</style>
然后使用:
MaterialDatePicker.Builder<Long> builder = MaterialDatePicker.Builder.datePicker();
builder.setTheme(R.style.MaterialCalendarThemeBackground);