Pub GitHub contributors

Scrollable Clean Calendar

A clean calendar widget with vertical scroll, locale and range selection date.

Contributors


Rodrigo Dobbin Fellows

Eduardo Natale

Fabio Fiuza

Filippo Pizzicola

Lucian Risso Correia

Installation

Add

scrollable_clean_calendar: 1.2.0

to your pubspec.yaml and run

flutter pub get

in the project's main folder.

Parameters

ScrollableCleanCalendar

ParameterTypeDefaultDescription
calendarControllerCleanCalendarControllerrequiredThe controller of ScrollableCleanCalendar
localeStringenThe language locale
scrollControllerScrollControllernullScroll controller
showWeekdaysbooltrueIf is to show or not the weekdays in calendar
layoutLayoutnullWhat layout (design) is going to be used. Important: layout is required if you don't use all the layout builders
spaceBetweenMonthAndCalendardouble24The space between month and calendar
spaceBetweenCalendarsdouble24The space between calendars
calendarCrossAxisSpacingdouble4The horizontal space in the calendar dates
calendarMainAxisSpacingdouble4The vertical space in the calendar dates
paddingEdgeInsetsGeometryEdgeInsets.symmetric(horizontal: 16, vertical: 32)The parent padding
monthTextStyleTextStyleTheme.of(context).textTheme.headline6The label text style of month
monthTextAlignTextAlignTextAlign.leftThe label text align of month
weekdayTextStyleTextStyleTheme.of(context).textTheme.bodyText1The label text align of month
dayTextStyleTextStyleTheme.of(context).textTheme.bodyText1The label text style of day
daySelectedBackgroundColorColorTheme.of(context).colorScheme.primaryThe day selected background color
dayBackgroundColorColorTheme.of(context).colorScheme.surfaceThe day background color
daySelectedBackgroundColorBetweenColorTheme.of(context).colorScheme.primary.withOpacity(.3)The day selected background color that is between day selected edges
dayDisableBackgroundColorColorTheme.of(context).colorScheme.surface.withOpacity(.4)The day disable background color
dayDisableColorColorTheme.of(context).colorScheme.onSurface.withOpacity(.5)The day disable color
dayRadiusdouble6The radius of day items
monthBuilderWidget Function(BuildContext context, String month)nullA builder to make a customized month
weekdayBuilderWidget Function(BuildContext context, String weekday)nullA builder to make a customized weekday
dayBuilderWidget Function(BuildContext context, DayValues values)nullA builder to make a customized day of calendar

CleanCalendarController

ParameterTypeDefaultDescription
minDateDateTimerequiredObrigatory: The mininimum date to show
maxDateDateTimerequiredObrigatory: The maximum date to show
initialDateSelectedDateTimenullAn initial selected date
endDateSelectedDateTimenullThe end of selected range
weekdayStartintDateTime.mondayIn what weekday position the calendar is going to start
onDayTappedFunction(DateTime date)nullFunction when a day is tapped
onRangeSelectedFunction(DateTime minDate, DateTime? maxDate)nullFunction when a range is selected
onPreviousMinDateTappedFunction(DateTime date)nullWhen a date before the min date is tapped
onAfterMaxDateTappedFunction(DateTime date)nullWhen a date after max date is tapped
rangeModebooltrueIf the range is enabled
readOnlyboolfalseIf the Calendar Widget is on read-only mode

Layout.DEFAULT

ScrollableCleanCalendar(
  calendarController: calendarController,
  layout: Layout.DEFAULT,
),

Layout.BEAUTY

ScrollableCleanCalendar(
  calendarController: calendarController,
  layout: Layout.BEAUTY,
  calendarCrossAxisSpacing: 0,
),

Libraries

clean_calendar_controller
day_values_model
days_widget
enums
extensions
month_widget
scrollable_clean_calendar
weekdays_widget