我正在开发一个需要获取用户生日的应用程序,我已经用DatePickerDialogFragment做了,但现在我想用Material Design做,所以我找到了一个方法,用这个库创建一个日期选择器对话框。
private MaterialDatePicker<Long> materialDatePicker;
...
MaterialDatePicker.Builder<Long> builder = MaterialDatePicker.Builder.datePicker();
builder.setTitleText(getResources().getString(R.string.birthday_it));
builder.setTheme(R.style.ThemeOverlay_MaterialComponents_MaterialCalendar);
materialDatePicker = builder.build();
然后用一个按钮来显示它
birthdayButton.setOnClickListener(view -> {
materialDatePicker.show(getSupportFragmentManager(), "DATE_PICKER");
});
这样做没有问题,我的确可以选择我的日期等等,但是在显示时,它看起来是这样的:
https:/i.stack.imgur.com60sD8.png。
https:/i.stack.imgur.comfWEGW.png。
从这两张图可以看出,当我选择一天的时候,选择器的图像没有与天数对齐,然后当我传递到对话框模式时,仍然是在之前的布局上,没有将其包裹起来。
请问我该怎么办?我找了一下,但没有找到任何解决的办法。
只要把你的应用主题改成 材料组件主题.
<style name="AppTheme" parent="Theme.MaterialComponents.*">
....
</style>
还 builder.setTheme(R.style.ThemeOverlay_MaterialComponents_MaterialCalendar);
不需要,因为它是默认主题。