DatePicker class

Inheritance

Constructors

DatePicker(DateTime startDate, {Key? key, double width = 60, double height = 80, DatePickerController? controller, TextStyle monthTextStyle = defaultMonthTextStyle, TextStyle dayTextStyle = defaultDayTextStyle, TextStyle dateTextStyle = defaultDateTextStyle, Color selectedTextColor = Colors.white, Color selectionColor = AppColors.defaultSelectionColor, Color deactivatedColor = AppColors.defaultDeactivatedColor, DateTime? initialSelectedDate, List<DateTime>? activeDates, List<DateTime>? inactiveDates, int daysCount = 500, DateChangeListener? onDateChange, String locale = "en_US", CalendarType calendarType = CalendarType.gregorianDate, TextDirection? directionality, bool showPastDates = false, SelectionMode selectionMode = SelectionMode.single, List<DateTime>? selectedDates, SelectionChangeListener? onSelectionChange, Color rangeColor = AppColors.defaultRangeColor, Color? rangeTextColor, DateGranularity granularity = DateGranularity.day, int? firstDayOfWeek})
const

Properties

activeDates List<DateTime>?
Contains the list of active dates. Only the dates in this list will be activated. In week/month granularity each entry activates the whole unit containing it.
final
calendarType CalendarType
Calendar type
final
controller DatePickerController?
DatePicker Controller
final
dateTextStyle TextStyle
TextStyle for the date Value
final
daysCount int
Number of tiles rendered from startDate, where each tile is one granularity unit — days by default (the historical meaning), weeks or months otherwise.
final
dayTextStyle TextStyle
TextStyle for day Value
final
deactivatedColor Color
Text Color for the deactivated dates
final
directionality TextDirection?
Directionality
final
firstDayOfWeek int?
First day of the week for DateGranularity.week, as a DateTime.monday..DateTime.sunday constant. When null it is resolved from the ambient MaterialLocalizations (Sunday for en_US; note this is independent of locale, which only formats labels). Ignored in the other granularities.
final
granularity DateGranularity
The calendar unit each tile represents: one day (the default), one week, or one month. Tapping a week/month tile selects and emits the unit's start date. In week/month granularity the first tile is the unit CONTAINING startDate, so it may begin before startDate, and daysCount counts tiles (weeks/months), not days. Gregorian calendar only.
final
hashCode int
The hash code for this object.
no setterinherited
height double
Height of the selector
final
inactiveDates List<DateTime>?
Contains the list of inactive dates. All the dates defined in this List will be deactivated. In week/month granularity each entry deactivates the whole unit containing it.
final
initialSelectedDate DateTime?
Current Selected Date. Only applies to SelectionMode.single; use selectedDates with the other modes.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
locale String
Locale for the calendar default: en_us
final
monthTextStyle TextStyle
TextStyle for Month Value
final
onDateChange DateChangeListener?
Callback function for when a different date is selected. Only fires in SelectionMode.single — use onSelectionChange for SelectionMode.multiple and SelectionMode.range.
final
onSelectionChange SelectionChangeListener?
Called with the whole selection after every tap, in every mode. In SelectionMode.range it fires with one date after the first tap (the pending start) and two after the second ([start, end]).
final
rangeColor Color
Color of the band painted behind the days between the endpoints of a range selection. The endpoints themselves keep selectionColor.
final
rangeTextColor Color?
Text color for the days between the endpoints of a range selection. Defaults to the normal text styles.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectedDates List<DateTime>?
Seeds the selection, and adopts the list again whenever its contents change between builds (pass the value received in onSelectionChange back in to drive the picker as a controlled component). null means the picker owns its selection; pass [] to clear it. In SelectionMode.range it holds [start] or [start, end].
final
selectedTextColor Color
Text color for the selected Date
final
selectionColor Color
Background color for the selector
final
selectionMode SelectionMode
How taps change the selection: exactly one date (SelectionMode.single, the default), any number of dates (SelectionMode.multiple — tapping a selected date removes it), or a start/end pair (SelectionMode.range).
final
showPastDates bool
When true, the timeline also shows past dates: half of daysCount units falls before the unit containing startDate, which is treated as the anchor ("today"). The picker opens with the selected date (or the anchor) in the center of the viewport, and all DatePickerController methods scroll dates to the center instead of the leading edge.
final
startDate DateTime
Start Date in case user wants to show past dates If not provided calendar will start from the initialSelectedDate
final
width double
Width of the selector
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<StatefulWidget>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited