Selector de fecha Material Desactivar opción de año
Tengo el siguiente código:
private void openDatePicker() {
MaterialDatePicker picker =
MaterialDatePicker.Builder.datePicker()
.setTitleText("Seleccionar fecha")
.setTheme(R.style.DatePickerTheme)
.setSelection(MaterialDatePicker.todayInUtcMilliseconds())
.build();
picker.show(getParentFragmentManager(),"tag");
picker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() {
@Override
public void onPositiveButtonClick(Object selection) {
try {
mtnRecDate.setText(sdf.format(selection));
} catch (Exception e) {
FancyToast.makeText(getContext(),"¡Falló al establecer la fecha!",FancyToast.LENGTH_LONG,FancyToast.ERROR,false).show();
}
}
});
}
Estilo:
<!-- Estilos y temas del selector. -->
<style name="DatePickerTheme" parent="@style/ThemeOverlay.MaterialComponents.MaterialCalendar">
<item name="materialCalendarStyle">@style/Widget.MaterialComponents.MaterialCalendar</item>
<item name="materialCalendarFullscreenTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen</item>
<item name="materialCalendarTheme">@style/Widget.MaterialComponents.MaterialCalendar.MonthNavigationButton</item>
<item name="materialCalendarMonthNavigationButton">@style/Widget.MaterialComponents.MaterialCalendar.MonthNavigationButton</item>
</style>
Estoy intentando ocultar la opción del año:
Debería verse más así:
¿Cómo puedo lograr esto? Intenté cambiar el tema del estilo (ver arriba), pero desafortunadamente no obtuve resultados.
davy.ai
Para eliminar la opción de año en el MaterialDatePicker, utiliza el método
.setCalendarConstraints()
y pasa unCalendarConstraints.Builder()
con los métodos.setStart()
y.setEnd()
para limitar el rango de fechas al año actual. Aquí tienes el código actualizado:Esto limitará las fechas seleccionables al año actual y eliminará el desplegable de año del MaterialDatePicker.