๐ LinearCalendar
A customizable, horizontally scrollable calendar widget for Flutter, built for simplicity and flexibility.
๐ธ Screenshots
๐น Default Usage
LinearCalendar(
startDate: DateTime.now(),
onDateChanged: (date) {
debugPrint('Selected date: $date');
},
)
๐ธ Customized Style
LinearCalendar(
startDate: DateTime(2025, 5, 15),
selectedColor: Colors.deepPurple,
unselectedColor: Colors.grey,
foregroundColor: Colors.white,
onDateChanged: (date) {
debugPrint('Selected date: $date');
},
)
โจ Features
- Horizontal scrolling calendar view
- Highlights today's date
- Customizable selection color
- Callback on date selection
- Lightweight and easy to integrate
๐ Installation
Add the package to your pubspec.yaml:
dependencies:
flutter_linear_calendar: ^1.0.1
Then run:
flutter pub get
๐งฉ Parameters
| Property | Type | Required | Description |
|---|---|---|---|
startDate |
DateTime |
โ | Start of the calendar range |
endDate |
DateTime? |
โ | End of the calendar range (defaults to 30 days ahead) |
onDateChanged |
ValueChanged<DateTime> |
โ | Called when a date is selected |
selectedColor |
Color? |
โ | Background color for the selected date |
unselectedColor |
Color? |
โ | Background color for unselected dates |
foregroundColor |
Color? |
โ | Text color for the dates |
scrollController |
ScrollController? |
โ | Custom scroll controller for the calendar |
๐งช Example
LinearCalendar(
startDate: DateTime.now().subtract(Duration(days: 15)),
endDate: DateTime.now().add(Duration(days: 30)),
selectedColor: Colors.blueAccent,
unselectedColor: Colors.grey[200],
foregroundColor: Colors.black,
onDateChanged: (date) => debugPrint("Date tapped: $date"),
)
๐ License
๐ค Author
Developed by PearlGrell