โ Buy Me a Coffee
๐ Multi View Calendar (Flutter)
multi_view_calendar is a powerful and customizable Flutter calendar package that provides week, month, and year views out of the box. It is responsive, efficient, and ideal for productivity, planner, and scheduling apps.
๐ฌ Demo Video
| Day Demo | Week Demo | Month Demo | Year Demo |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
๐งฉ Features
- ๐ Multiple views: DayView, WeekView, MonthView, and YearView
- ๐ง Intelligent layout: Automatically arranges days and weeks
- ๐จ Fully customizable: Colors, date builders, styles
- ๐ Lazy loading support for better performance
- ๐ฑ Responsive UI for mobile and tablet
- ๐ Event support with overlapping, tap handling, and tooltips
- โ Built with modular structure (controller, data, widgets, utils)
- ๐ Show events by date
๐ก Use Cases
- Daily, weekly, and monthly planning apps
- Task and project management tools
- Scheduling, time-blocking, or team calendars
- Habit tracking or event tracking apps
๐๏ธ Architecture
| Component | Description |
|---|---|
DayView, WeekView, MonthView, YearView |
Main calendar views |
ColorUtils |
Helper functions for colors |
ShowUtils |
Helper functions for show widget for date |
TimeUtils |
Helper functions for date calculations and layout logic |
StringUtils |
Helper functions for String logic |
๐ Getting Started
๐งพ Constructor Parameters
| Field | Type | Default | Description |
|---|---|---|---|
date (DayView) |
DateTime |
required | Initial date used as the reference point when opening the calendar |
events |
List | required | The list of events is displayed by hour. |
showTimeLabels (DayView) |
bool |
true |
Toggle timeline visibility. |
month (MonthView) |
DateTime |
required | Initial month used as the reference point when opening the calendar |
weekStartDate (WeekView) |
DateTime |
required | Initial week used as the reference point when opening the calendar |
year |
int |
required | Initial year used as the reference point when opening the calendar |
๐ Usage
โ Basic Usage
โญ DAY VIEW
DayView(date: _currentDate, events: widget.events)
โญ WEEK VIEW
WeekView(weekStartDate: _currentDate, events: widget.events);
โญ MONTH VIEW
MonthView(month: _currentDate, events: widget.events);
โญ YEAR VIEW
YearView(year: 2025);
โ๏ธ Setup
To install the multi_view_calendar package, add the following to your pubspec.yaml file:
dependencies:
multi_view_calendar: ^1.0.2
๐ฆ Supported SDKs
- Flutter: Stable channel
- Android: SDK 21+
- iOS: iOS 9+
๐ Contributions
Feel free to open issues or pull requests on GitHub.
๐ License
MIT License. See LICENSE for details.




