HorizonCalendar — декларативный компонент для создания календаря от Airbnb. Подходит как для создания простых форм выбора даты, так и для показа полноценных календарей.
Оцените список функций для, казалось бы, такого простого компонента:
- Поддерживает все календари из Foundation.Calendar (григорианский, японский и т.д.)
- Отображение месяцев с вертикальной или горизонтальной прокруткой
- Декларативный API, который обеспечивает однонаправленный поток данных для обновления содержимого календаря
- Настраиваемые макеты, которые позволяют создавать практически бесконечные диапазоны дат без увеличения использования памяти
- Пользовательские View для отдельных дней, заголовков месяцев и дней недели
- Пользовательские View для подсветки диапазона дат
- Пользовательские View для оверлеев, например, подсказок
- Обработчик выбора дня
- Прокрутка до произвольных дат и месяцев с анимацией или без нее
- Поддержка доступности
Исходники: https://github.com/airbnb/HorizonCalendar