VOOZH about

URL: https://www.syncfusion.com/flutter-widgets/flutter-calendar

โ‡ฑ Flutter Event Calendar | Schedule and Manage events | Syncfusion


Bold ReportsยฎCreate pixel-perfect reports from 20+ data sources, 35+ widgets, inbuilt ETL, and Word-to-PDF conversion.

Try it for free!
Find anything about our product, documentation, and more.

๐Ÿ‘ Syncfusion Feedback

Flutter is offered as an add-on benefit for UI Component Suite users.

Flutter Calendar Widget - Flexible Event Scheduler for Appointments

  • Vividly visualize appointments in different views including day, week, month, schedule, and timeline.
  • Schedule recurring events and appointments in different time zones.
  • Style calendar elements easily.
  • Exclude nonworking days and nonworking hours to have a more focused view of your schedule.

Trusted by the worldโ€™s leading companies

Flutter Flutter Calendar

Overview

The Flutter Calendar, or scheduler library, was natively written in Dart and has eight built-in, configurable view modes that provide basic functionalities for scheduling, managing, and representing appointments efficiently. This Flutter Calendar widget exposes a clean and convenient user interface for custom working days and working hours, and basic calendar operations such as date navigation and selection.


Multiple calendar view modes

A wide range of built-in view modes are available: day, week, workweek, month, schedule, timeline day, timeline week, and timeline workweek. The Flutter Calendar widget allows you to conveniently customize every view with unique, view-specific options.

Day

Week

Workweek

Month

Schedule

Timeline day

Timeline week

Timeline workweek

Timeline month


Events

Render recurring, all-day, and spanned appointments to visualize your schedule and events easily. Appointments contain information on events scheduled at specific times. In addition to default appointments, users can use their own collections to connect a business entity to an appointment by mapping their fields, such as start time, end time, subject, notes, and recurrence.


Recurring events

Easily configure recurring events on a daily, weekly, monthly, or yearly basis. You can also skip or change an occurrence of a recurring appointment.


Resource view

Display resources as a discrete view integrated with a calendar to display the appointments of each resource in a timeline view and enhance viewability. You can customize the display name, resource panel size, background color, and image.


Month agenda view

Display appointments in a list below the month view by clicking a day.


Week numbers

Display the week numbers of the year in the month, week, and workweek views of the Calendar.


Schedule view

Show a list of scheduled appointments grouped by week, between set minimum and maximum dates, with the schedule view. You can customize everything from the date and time formats to the styling of each header.


Resize and drag-and-drop appointments

Resize and drag-and-drop support have been added for rescheduling appointments in the event calendar.


Calendar details

Returns the calendar details based on the given offset passed through an argument by using the getCalendarDetailsAtOffset method.


Load more

Load appointments on-demand whenever users switch from one view to another or when scrolling to the start or end position of the schedule view.


Special time regions

Disable interactions and selections for specific time ranges. This is useful when you want to block user interaction during holidays or other special events and highlight those time slots.


Blackout dates

Disable any date in the month and timeline month views of a calendar to make them inactive. Easily prevent the selection of weekends and holidays by disabling them.


Flexible working days

Customize the work days in a workweek so that the remaining days will be hidden from view.


Number of days in view

The number of days in view is used to customize the days count in a calendar. It is also applicable for day, week, workweek, timeline day, timeline week, and timeline workweek views.


Customize leading and trailing dates

Hide the days of the next month and previous month in a calendar to enhance the appearance.


Current time indicator

The current time indicator displays in the current time slot of the Calendar.


First day of the week

Customize the first day of the week as needed. The default first day is Sunday.


Appearance customization

Builder

Design and set your own custom view to the month cells, the month header of schedule view, resource header of timeline views, special time regions, and the appointments view of a Flutter Calendar.

Month cell

Schedule view month header

Schedule view month header

Appointment builder

Time region builder

Theming

Provide a uniform and consistent look to the Calendarโ€™s appearance and format with a theme.


Time zone

Regardless of the time zone in your device, set any required time zone for the widget as well as its events.


Quick view navigation

Navigate among calendar views easily using buttons in the header for date-picker views and also by clicking the month cell and view headers.


Date restriction

Prevent navigation beyond specified minimum and maximum dates. This restricts users from selecting certain dates outside of a range of time.


Accessibility

Easily access the Calendar with screen readers.


Right to left (RTL)

Right-to-left direction support for users working in RTL languages like Hebrew and Arabic.


Navigation

Programmatically navigate to the previous and next views by using the calendar controller. Also, enable or disable view navigation using swipe interaction.


Localization and globalization

Display the current date and time by following the globalized date and time formats and localize all available static text.


Flutter Calendar Code Example

Easily get started with the Flutter Calendar using a few simple lines of DART code example as demonstrated below. Also explore our Flutter Calendar Example, that shows you how to render and configure the Calendar in Flutter.

import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_calendar/calendar.dart';

@override
Widget build(BuildContext context) {
 return Scaffold(
 body: SfCalendar(
 view: CalendarView.month,
 dataSource: MeetingDataSource(_getDataSource()),
 monthViewSettings: MonthViewSettings(
 appointmentDisplayMode: MonthAppointmentDisplayMode.appointment),
 ));
}

List<Meeting> _getDataSource() {
 final List<Meeting> meetings = <Meeting>[];
 final DateTime today = DateTime.now();
 final DateTime startTime =
 DateTime(today.year, today.month, today.day, 9, 0, 0);
 final DateTime endTime = startTime.add(const Duration(hours: 2));
 meetings.add(Meeting(
 'Conference', startTime, endTime, const Color(0xFF0F8644), false));
 return meetings;
}


class MeetingDataSource extends CalendarDataSource {
 MeetingDataSource(List<Meeting> source) {
 appointments = source;
 }

 @override
 DateTime getStartTime(int index) {
 return appointments![index].from;
 }

 @override
 DateTime getEndTime(int index) {
 return appointments![index].to;
 }

 @override
 String getSubject(int index) {
 return appointments![index].eventName;
 }

 @override
 Color getColor(int index) {
 return appointments![index].background;
 }

 @override
 bool isAllDay(int index) {
 return appointments![index].isAllDay;
 }
}

class Meeting {
 Meeting(this.eventName, this.from, this.to, this.background, this.isAllDay);

 String eventName;
 DateTime from;
 DateTime to;
 Color background;
 bool isAllDay;
}



Not sure how to create your first Flutter Calendar? Our tutorial videos and documentation can help

Iโ€™d love to watch now Iโ€™d love to read now

Frequently Asked Questions

  • 9 in-build view modes available including schedule, day, month, and timeline views with unique view specific customization options.

  • Load events on demand and load event data from business objects.

  • Recurrence events support. View appointments in all calendar views.

  • Easily reschedule appointments using resize and drag-drop operations.

  • Date navigation restrictions along with cell selection restrictions.

  • Built-in functionalities for easily switch from one view to another. Disable interactions and selection to make specific dates inactive.
  • Customize all the elements with builder support. Create and replace an elementโ€™s UI easily.
  • The widget is touch friendly and renders adaptively based on the device, providing the best user experience on phones, tablets, and desktops.
  • Easily build applications for global audience and prepare them to support various languages and cultures.

You can find our Flutter Calendar demo, which demonstrates how to render and configure the Calendar.

No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue, 5 or fewer developers, and 10 or fewer total employees.

A good place to start would be our comprehensive getting started documentation.

Our Customers Love Us

Having an excellent set of tools and a great support team, Syncfusionยฎ reduces customersโ€™ development time.
Here are some of their experiences.
Nice suite of components
A very complete set of components, that has an edge on other major vendors which offer components. A lot less code required to use and code samples for more complete components. Integrates well with other 3rd party components.
Complete, robust, fully functional web UI
The Syncfusion Grid component is as good or better than any other on the market. It has every feature you could want: paging, sorting, filtering, sizing and reordering columns, exporting to PDF, CSV, or Excel. And they have just about every other rich web component you think of: Calendar, sortable list, embedded rich text/HTML editor, charts, maps, you name it.

See Real Success Stories

Developers around the world trust Syncfusionโ€™s Essential Studio to simplify complex projects and speed up delivery. With a vast library of UI controls, powerful SDKs, and reliable support, Essential Studio helps teams build enterprise-ready applications with confidence.

Read Our Customer Stories

Industry

Software development


75% Cost reduction

50% Faster development

๐Ÿ‘ Customer review

โ€œIf somebody is looking for a great tool to work with? Yes. I would definitely recommend Syncfusion for anyone who is trying to develop something meaningful.โ€

- Somnath Maji (Founder of Igniatek Consultancy)

Read Story

Industry

Utilities (oil and gas)


๐Ÿ‘ 450+ hours saved

450+ hours saved

Streamlined processes and hours of development effort saved.

๐Ÿ‘ Flexible features

Advanced, flexible features

Empowered users through robust and versatile functionality.

๐Ÿ‘ Customer review

โ€œSyncfusionโ€™s tools have taken care of many things so I can focus on developing the application, instead of developing tools for the application.โ€

- James Athyal (Software developer, McDaniel & Associates Consultants Ltd)

Read Story

Industry

Software and technology


๐Ÿ‘ Time saving

1000+ of hours saved

Accelerated development with enterprise-ready UI components.

๐Ÿ‘ File management

Efficient file management

Streamlined workflows with document libraries without building them from scratch.

๐Ÿ‘ Customer review

โ€œWe really love when the magic happens.โ€

- Irvin Dominin (BUILDER WEB Development Manager at Sistemi)

Read Story

Industry

Software and technology


๐Ÿ‘ Time saving

2 Years of delay avoided

Two years of delays prevented with proactive planning.

๐Ÿ‘ On-time delivery

On-time delivery

Projects delivered on schedule using trusted controls.

๐Ÿ‘ Customer review

โ€œWe are Syncfusion fans because of the way Syncfusion treats the support.โ€

- Dr. Howard Rybko (CEO of Synchrony Digital)

Read Story

Industry

IT services and IT consulting


๐Ÿ‘ Improved performance

Improved performance

Large datasets handled with easy customization and quick debugging.

๐Ÿ‘ Highly customizable

Highly customizable

Plug-and-play controls with quick template integration.

๐Ÿ‘ Customer review

โ€œI will surely recommend Syncfusion to others as a third-party control because I think itโ€™s very easily customizable.โ€

- Jayesh (Technical Team Lead, Capita)

Read Story

Industry

Professional services


๐Ÿ‘ Instant access

Instant access

Quick availability of features and resources.

๐Ÿ‘ Reduced dependencies

Reduced dependencies

Fewer dependencies for faster development.

๐Ÿ‘ Customer review

โ€œWe definitely wanted Syncfusion to help us with our document processing functionality, and we were happy with and satisfied with Syncfusion.โ€

- Arvind Naik (Engineering Lead, Vialto Partners)

Read Story
๏ปฟ

Rated by users across the globe

Awards

Greatnessโ€”itโ€™s one thing to say you have it, but it means more when others recognize it. Syncfusionยฎ is proud to hold the following industry awards.

๐Ÿ‘ Up arrow icon
EXPLORE OUR PRODUCTS
FREE TOOLS
RESOURCES
GET PRODUCTS
UI Kits
SUPPORT
LEARNING
POPULAR FLUTTER COMPONENTS
WHY WE STAND OUT
COMPANY
CONTACT US

CONTACT US

  • Fax: +1 919.573.0306
  • US: +1 919.481.1974
  • UK: +44 20 7084 6215
  • Toll Free (USA):
  • 1-888-9DOTNET