我正在开发一个应用程序,它需要得到用户的生日,我已经用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.com/60sD8.png
https://i.stack.imgur.com/fWEGW.png
正如您从这两个图像中看到的,当我选择一天时,选择器图像与天数不对齐,然后当我切换到对话模式时,选择器图像仍然位于前一个布局上,并且不会对其进行换行。
我能做什么?我找过了,但是没有找到任何关于这个的东西。谢谢!
发布于 2020-05-29 06:00:57
只需将应用程序主题更改为即可。
<style name="AppTheme" parent="Theme.MaterialComponents.*">
....
</style>此外,builder.setTheme(R.style.ThemeOverlay_MaterialComponents_MaterialCalendar);也不是必需的,因为它是默认主题。
https://stackoverflow.com/questions/61872470
复制相似问题