# prolificinteractive/material-calendarview

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/prolificinteractive-material-calendarview).**

5,913 stars · 1,299 forks · Java · MIT

## Links

- GitHub: https://github.com/prolificinteractive/material-calendarview
- Homepage: https://prolificinteractive.github.io/material-calendarview/
- awesome-repositories: https://awesome-repositories.com/repository/prolificinteractive-material-calendarview.md

## Topics

`android` `calendar` `java` `material`

## Description

A Material design back port of Android's CalendarView

## Tags

### Part of an Awesome List

- [Calendars And Dates](https://awesome-repositories.com/f/awesome-lists/devtools/calendars-and-dates.md) — Provides a Material Design calendar widget for selecting dates via listeners or direct queries. ([source](https://cdn.jsdelivr.net/gh/prolificinteractive/material-calendarview@master/README.md))
- [Calendar Appearance Configurations](https://awesome-repositories.com/f/awesome-lists/devtools/calendars-and-dates/calendar-appearance-configurations.md) — Offers configuration for tile size, selection mode, date range, first day of week, and labels. ([source](https://cdn.jsdelivr.net/gh/prolificinteractive/material-calendarview@master/README.md))
- [Temporal View Switching](https://awesome-repositories.com/f/awesome-lists/devtools/list-and-grid-views/view-switching-logic/temporal-view-switching.md) — Switches between month, week, and multi-month displays while preserving scroll state and selection.
- [Adjacent Month Day Displays](https://awesome-repositories.com/f/awesome-lists/devtools/calendars-and-dates/adjacent-month-day-displays.md) — Shows days from adjacent months in the same grid to provide visual context. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Customization))
- [Event Indicators](https://awesome-repositories.com/f/awesome-lists/devtools/calendars-and-dates/date-metadata-visualization/event-indicators.md) — Applies colored dots and other visual markers to individual dates via a decorator API. ([source](https://github.com/prolificinteractive/material-calendarview/wiki))
- [Unavailable Date Markers](https://awesome-repositories.com/f/awesome-lists/devtools/calendars-and-dates/unavailable-date-markers.md) — Displays dates marked as disabled by a decorator, keeping them visible but unselectable. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Customization))
- [Calendar Text Style Layers](https://awesome-repositories.com/f/awesome-lists/devtools/text-and-labels/calendar-text-style-layers.md) — Applies distinct font styles to the month header, weekday labels, and date cells.
- [Date and Time Pickers](https://awesome-repositories.com/f/awesome-lists/devtools/date-and-time-pickers.md) — Material Design styled calendar view.
- [Widgets and Controls](https://awesome-repositories.com/f/awesome-lists/devtools/widgets-and-controls.md) — Calendar view component with Material styling.

### User Interface & Experience

- [Adapter-Driven Cell Renderers](https://awesome-repositories.com/f/user-interface-experience/calendar-grid-rendering/adapter-driven-cell-renderers.md) — Core architecture: renders each calendar cell through a pluggable adapter for custom day views.
- [Calendar Day](https://awesome-repositories.com/f/user-interface-experience/appearance-customizations/calendar-day.md) — Applies custom colors, drawables, or highlight states to individual dates via a decorator API. ([source](https://github.com/prolificinteractive/material-calendarview/wiki))
- [Calendar Day Decorators](https://awesome-repositories.com/f/user-interface-experience/appearance-customizations/calendar-day-decorators.md) — Provides a decorator interface to customize individual day cells with backgrounds, indicators, and text spans. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Decorators))
- [Calendar Day State Stylings](https://awesome-repositories.com/f/user-interface-experience/appearance-customizations/calendar-day-state-stylings.md) — Provides a decorator API to apply custom drawables and text colors to calendar days based on selection and disabled states. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Custom-Selectors))
- [Material Design Components](https://awesome-repositories.com/f/user-interface-experience/component-rendering-engines/material-design-components.md) — A date picker widget implementing Material Design guidelines for Android applications.
- [Android Backports](https://awesome-repositories.com/f/user-interface-experience/component-rendering-engines/material-design-components/android-backports.md) — Backports Material Design calendar styling and date selection to older Android versions.
- [Date Highlighting](https://awesome-repositories.com/f/user-interface-experience/date-pickers/date-highlighting.md) — Provides a decorator API for applying custom colors, drawables, and markers to individual dates.
- [Range Selection](https://awesome-repositories.com/f/user-interface-experience/date-pickers/range-selection.md) — Supports picking a date range from the calendar widget and retrieving the selected values. ([source](https://cdn.jsdelivr.net/gh/prolificinteractive/material-calendarview@master/README.md))
- [Date Range Restrictions](https://awesome-repositories.com/f/user-interface-experience/date-range-schedulers/date-range-restrictions.md) — Enforces configurable minimum and maximum date boundaries to restrict selectable dates.
- [Date Selection Components](https://awesome-repositories.com/f/user-interface-experience/date-selection-components.md) — Enables picking single, multiple, or range dates from the calendar widget. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Customization))
- [Multi-Mode Date Selection](https://awesome-repositories.com/f/user-interface-experience/date-selection-components/multi-mode-date-selection.md) — Provides single date selection as one mode within a multi-mode date picker widget. ([source](https://github.com/prolificinteractive/material-calendarview/wiki))
- [Calendar Cell Adapters](https://awesome-repositories.com/f/user-interface-experience/grid-cell-configurations/cell-access-optimizers/placeholder-cell-generation/view-cell-generators/calendar-cell-adapters.md) — Provides an adapter-driven system for rendering custom day views in a calendar grid.
- [State-List Drawables](https://awesome-repositories.com/f/user-interface-experience/interaction-states/state-list-drawables.md) — Applies Android state drawables to date cells for selected, pressed, and disabled states.
- [Calendar View Mode Toggles](https://awesome-repositories.com/f/user-interface-experience/interactivity-mode-coordination/interaction-mode-toggles/display-mode-toggles/calendar-view-mode-toggles.md) — Ships a calendar widget that switches between month, week, and multi-month display modes. ([source](https://github.com/prolificinteractive/material-calendarview/wiki))
- [Adapter-Driven Calendar Cells](https://awesome-repositories.com/f/user-interface-experience/programmatic-element-construction/android-view-lifecycle-tracking/custom-view-rendering/zoomable-view-rendering/calendar-layout-rendering/adapter-driven-calendar-cells.md) — Delegates day view creation to an adapter for custom layouts and interaction handling per date.
- [Calendar Date Decorators](https://awesome-repositories.com/f/user-interface-experience/selection-decorators/calendar-date-decorators.md) — Applies custom colors, drawables, or selectors to individual dates for event highlighting or selection rules. ([source](https://github.com/prolificinteractive/material-calendarview/wiki))
- [Calendar Display Configurations](https://awesome-repositories.com/f/user-interface-experience/ui-components/form-input-components/calendar-components/calendar-display-configurations.md) — Sets the first day of the week, minimum and maximum dates, and display mode for the calendar. ([source](https://github.com/prolificinteractive/material-calendarview/wiki))
- [Calendar Text Style Customizations](https://awesome-repositories.com/f/user-interface-experience/appearance-customizations/calendar-text-style-customizations.md) — Allows setting separate font styles for the month header, weekday labels, and date cells. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Customization))
- [Calendar Selection Color Pickers](https://awesome-repositories.com/f/user-interface-experience/color-selection-components/calendar-selection-color-pickers.md) — Allows changing the highlight color for selected dates to a custom value. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Customization))
- [Date Blacklisting](https://awesome-repositories.com/f/user-interface-experience/date-range-schedulers/date-range-restrictions/date-blacklisting.md) — Renders dates marked as disabled by a decorator, making them visible but unselectable. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Customization))
- [Out-of-Range Date Displays](https://awesome-repositories.com/f/user-interface-experience/date-range-schedulers/date-range-restrictions/out-of-range-date-displays.md) — Renders dates outside the configured min/max range as visible but not selectable. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Customization))
- [Date Disabling](https://awesome-repositories.com/f/user-interface-experience/date-selection-components/date-disabling.md) — Ships a decorator API that allows marking individual dates as disabled. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Decorators))
- [Calendar Scroll Position Preservers](https://awesome-repositories.com/f/user-interface-experience/scroll-interaction-handlers/scroll-state-controllers/scroll-restoration/scroll-position-maintenance/calendar-scroll-position-preservers.md) — Maintains scroll position on the last selected date when switching between week and month views. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Customization-Builder))
- [Calendar](https://awesome-repositories.com/f/user-interface-experience/text-styling/calendar.md) — Allows separate font styling for month header, weekday labels, and date cells.
- [Calendar Text Appearances](https://awesome-repositories.com/f/user-interface-experience/text-styling/calendar-text-appearances.md) — Allows separate font styling for the header, weekday labels, and date cells. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Customization))
- [Display Mode Switchers](https://awesome-repositories.com/f/user-interface-experience/ui-components/form-input-components/calendar-components/calendar-display-configurations/display-mode-switchers.md) — Supports switching between month, week, and multi-month display modes.
- [View State Preservation](https://awesome-repositories.com/f/user-interface-experience/view-state-preservation.md) — Preserves the calendar's focused date when switching between week and month views. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Customization-Builder))
- [Adjacent Month Date Toggles](https://awesome-repositories.com/f/user-interface-experience/visibility-toggles/adjacent-month-date-toggles.md) — Ships a boolean flag to show or hide dates from adjacent months in the calendar grid.

### Data & Databases

- [Week Start Day Configurations](https://awesome-repositories.com/f/data-databases/database-schema-mapping/row-mapping-logic/row-record-access/conditional-row-filters/calendar-day-filters/week-start-day-configurations.md) — Allows setting the first day of the week to any day, defaulting to Sunday. ([source](https://github.com/prolificinteractive/material-calendarview/wiki/Customization-Builder))

### Mobile Development

- [Android Calendar Views](https://awesome-repositories.com/f/mobile-development/android-calendar-views.md) — Provides a Material Design calendar picker widget embeddable in Android apps for date selection.

### Software Engineering & Architecture

- [Calendar Date](https://awesome-repositories.com/f/software-engineering-architecture/decorator-patterns/decorators/calendar-date.md) — Implements a decorator pipeline to modify drawables and text spans on individual date cells.
- [Date](https://awesome-repositories.com/f/software-engineering-architecture/decorator-patterns/decorators/date.md) — Core customization mechanism: applies visual changes to dates through a pluggable decorator interface.
- [Date Cell](https://awesome-repositories.com/f/software-engineering-architecture/decorator-patterns/decorators/date-cell.md) — Provides a pluggable decorator interface for modifying drawables and text spans on date cells.
