Repolode
kizitonwose

kizitonwose/Calendar

A highly customizable calendar view and compose library for Android and Compose Multiplatform, with week, month, year and heatmap modes.

Stars
5,627
Forks
587
Open issues
10
Last commit
3 months ago

What is it?

Calendar is a Kotlin library that provides the date logic for calendar UIs while leaving the visual design to the developer. It offers both a View-based artifact built on RecyclerView and a Compose artifact built on LazyRow and LazyColumn, so it fits either the classic Android view system or modern Compose screens.

The library supports week, month and year layouts, horizontal or vertical scrolling, and single, multiple or range date selection. Developers can disable specific dates, set boundary dates, choose any day as the first day of the week, and add headers or footers to years, months and weeks. Day cells and the calendar itself can be fully custom composables or views.

A Compose Multiplatform artifact uses kotlinx-datetime and targets Android, iOS, JS, WasmJs and Desktop. The library also includes a heatmap calendar mode for showing data over time, similar to GitHub's contribution chart.

Key features

  • 01Week, month and year calendar modes with horizontal or vertical scrolling.
  • 02Single, multiple and range date selection.
  • 03Disable dates and set boundary dates to limit the range.
  • 04Custom day cells and calendar layouts as views or composables.
  • 05Headers and footers for years, months and weeks.
  • 06HeatMap calendar mode for showing data over time.

Use cases

  • Adding a date picker or booking calendar to an Android app.
  • Building a Compose Multiplatform app that runs on Android, iOS, web and desktop.
  • Visualizing activity or contribution data as a heatmap.

In collections

Topics

#android#compose#kotlin#kotlin-multiplatform#calendar#date-picker#ui-components#calendar-library#calendarview#compose-calendar

FAQ

What is Calendar?
A highly customizable calendar view and compose library for Android and Compose Multiplatform, with week, month, year and heatmap modes. Calendar is a Kotlin library that provides the date logic for calendar UIs while leaving the visual design to the developer. It offers both a View-based artifact built on RecyclerView and a Compose artifact built on LazyRow and LazyColumn, so it fits either the classic Android view system or modern Compose screens.
Is Calendar free to use? What license does it have?
Calendar is open source under the MIT license. Check the license terms before using it in commercial products.
Is Calendar still maintained?
Updated within 6 months. The last commit to Calendar was on Aug 13, 2026.
What can I use Calendar for?
Adding a date picker or booking calendar to an Android app. Building a Compose Multiplatform app that runs on Android, iOS, web and desktop. Visualizing activity or contribution data as a heatmap.
Where can I get Calendar?
The source code and installation instructions are on GitHub: https://github.com/kizitonwose/Calendar

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects