Ich verwende Material CalendarView
und basierend auf von Daten CalenderView
Hervorhebung Daten. Daher möchte ich die Daten außer Array of Dates deaktivieren.So deaktivieren Sie Daten in Android Material Kalender
datePickerDialog = new Dialog(MainActivity.getInstance());
datePickerDialog.show();
datePickerDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
datePickerDialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
datePickerDialog.setCancelable(true);
datePickerDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
datePickerDialog.setContentView(R.layout.assignment_custom_datepicker);
materialCalendarView = (MaterialCalendarView) datePickerDialog.findViewById(R.id.calendarView);
// materialCalendarView.setShowOtherDates(MaterialCalendarView.SHOW_ALL);
materialCalendarView.setFirstDayOfWeek(Calendar.SUNDAY);
materialCalendarView.invalidate();
materialCalendarView.setHeaderTextAppearance(R.style.TextAppearance_AppCompat_Medium);
materialCalendarView.setDateTextAppearance(R.drawable.background_solid_blue);
materialCalendarView.setDateTextAppearance(R.style.TextAppearance_AppCompat_Medium);
materialCalendarView.setWeekDayTextAppearance(R.style.TextAppearance_AppCompat_Medium);
materialCalendarView.setSelectionMode(MaterialCalendarView.SELECTION_MODE_SINGLE);
// materialCalendarView.setWeekDayTextAppearance();
materialCalendarView.setDateTextAppearance(R.style.WalletFragmentDefaultButtonTextAppearance);
Calendar selectDayCalendar = Calendar.getInstance();
selectDayCalendar.set(mYear, mMonth, mDay);
materialCalendarView.addDecorators(
new OneDayDecorator()
);
if (calendarDays != null && !calendarDays.isEmpty()) {
materialCalendarView.addDecorator(new EventDecorator(Color.RED, calendarDays));
materialCalendarView.setOnDateChangedListener(this);
}
else
{
// materialCalendarView.setOnDateChangedListener(this);
}
if (readcalendarDays != null && !readcalendarDays.isEmpty()) {
materialCalendarView.addDecorator(new EventDecorator(Color.GREEN, readcalendarDays));
}
Vielen Dank, Ankur Aggarwal für die Antwort. Zum Deaktivieren von Daten gibt es Methoden im Materialkalender. Das Datum wurde tatsächlich basierend auf ArrayList aktiviert, aber um Daten zu deaktivieren, die auf Probleme stoßen. – Ravi
@Ravi gibt es keinen separaten Dekorator, um Daten zu deaktivieren. Wie 'MaterialCalendarView' funktionieren würde, ist, dass es alle Daten automatisch deaktiviert, wenn sie nicht in der" enabledDates "-Liste sind. Ich benutze das immer und habe kein Problem –
@Ravi Bearbeitete meine Antwort. Jetzt versuchen Sie diese PLZ –