我做了什么:
- Added
implementation 'com.google.android.material:material:1.1.0'
在依赖关系中
- Set
Theme.MaterialComponents.Light.Bridge
作为应用程序主题的父级
<style name="AppTheme" parent="Theme.MaterialComponents.Light.Bridge">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
- 尝试在片段中显示日期选择器。
MaterialDatePicker.Builder<Pair<Long, Long>> builder = MaterialDatePicker.Builder.dateRangePicker();
Calendar now = Calendar.getInstance();
now.set(Calendar.YEAR, 2020);
now.set(Calendar.MONTH, 1);
now.set(Calendar.DAY_OF_MONTH, 10);
long first = now.getTimeInMillis();
now.set(Calendar.YEAR, 2020);
now.set(Calendar.MONTH, 5);
now.set(Calendar.DAY_OF_MONTH, 20);
long last = now.getTimeInMillis();
builder.setSelection(new Pair<>(first, last));
MaterialDatePicker<Pair<Long, Long>> picker = builder.build();
picker.show(fragmentActivity.getSupportFragmentManager(), "RangePicker");
当我运行代码时,出现此错误
java.lang.IllegalArgumentException: com.google.android.material.datepicker.MaterialDatePicker
requires a value for the com.example:attr/materialCalendarFullscreenTheme attribute to be set
in your app theme. You can either set the attribute in your theme or update your theme to
inherit from Theme.MaterialComponents (or a descendant).
只需将以下内容添加到您的应用程序主题中即可。
<item name="materialCalendarStyle">@style/Widget.MaterialComponents.MaterialCalendar</item>
<item name="materialCalendarFullscreenTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen</item>
<item name="materialCalendarTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar</item>
添加后
<style name="AppTheme" parent="Theme.MaterialComponents.Light.Bridge">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- Add these -->
<item name="materialCalendarStyle">@style/Widget.MaterialComponents.MaterialCalendar</item>
<item name="materialCalendarFullscreenTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen</item>
<item name="materialCalendarTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar</item>
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)