CrunchyCalendar
#разработка #библиотека
Не так давно ко мне обратились с просьбой изучить небольшую библиотеку и рассказать о ней на канале. Это библиотека для работы с календарем — CrunchyCalendar.
На самом деле, работа с календарем — распространенная задача. Основной кейс состоит в том, чтобы получить выбранную дату, показав при этом пользователю календарь.
Сразу в голове всплывает стандартный компонент — DatePickerDialog. Но он справляется только с тем, чтобы выбрать одну дату. А что если необходим диапазон дат? Или хочется большей кастомизации? И что делать, если выбор нужно сделать на текущем экране? Тогда приходится искать кастомные библиотеки для работы с календарем.
Что мне понравилось в CrunchyCalendar:
1) Нет лишней фукнциональности. Часто бывает, что из всей библиотеки необходима только одна ее часть. Остальная при этом висит мертвым грузом в проекте. Тут только календарь и больше ничего, что здорово.
2) Малый размер. В ней нет никаких ресурсов и других библиотек, кроме RecyclerView (который уже и так у вас в проекте).
3) Кастомизация. Можно настроить цвета и задать тему для View. Кроме того, библиотека сделана в виде адаптера для RecyclerView, поэтому если не хватает стандартных возможностей, то их всегда можно добавить.
4) Простой и лаконичный дизайн.
5) Библиотека написана на Kotlin.
Из минусов могу отметить то, что нельзя выделить диапазон дат при помощи жеста, а также то, что нельзя ограничить количество выделяемых дней в диапазоне. В остальном — отличная библиотека, которую буду использовать, если захочу работать с календарем в проекте.
Post #168
2.86K