Aus öffentlichen Paketdaten erstellte Orientierung.
cr_calendar ist ein anpassbarer Flutter-Kalender-Paket, der Bereichsauswahl, Ereignishervorhebung und umfangreiche Stiloptionen unterstützt. Es bietet eine saubere, moderne Oberfläche zur Anzeige von Daten und Ereignissen auf mehreren Plattformen wie Android, iOS, Web, macOS, Windows und Linux. Das Paket ermöglicht Entwicklern, das Aussehen und Verhalten des Kalenders an verschiedene Anwendungsfälle wie Terminplanung, Buchungssysteme oder persönliche Planer anzupassen. Mit integrierter Unterstützung für Datumsbereiche und Ereignismarker vereinfacht es die Datenumgebung in Flutter-Anwendungen.
Anwendungsfälle
Terminplanung
Buchungssysteme
Ereignisverfolgung
Persönliche Planer
Datumsbereichauswahl
Kalenderbasierte Dashboards
Hauptmerkmale
Anpassbare Benutzeroberfläche
Datumsbereichsauswahl
Ereignismarkierung
Multiplattformunterstützung
Flexible Datumsformatierung
Themenintegration
Geeignet für
Entwickler, die Termin-Apps erstellen
Teams, die Buchungsoberflächen erstellen
Apps, die Datendarstellung erfordern
Flutter-Projekte mit Kalenderanforderungen
benutzerorientierte Datumsauswahl
Hinweise
Benötigt manuelle Ereignisdatenverwaltung
eingebaute Lokalisierung beschränkt
Keine native Zeit Auswahl
Styling kann benutzerdefinierten Code erfordern
plattformspezifische Rendering-Feinheiten
Abhängig von externer Zustandsverwaltung
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
CrCalendar
Customizable Flutter calendar inspired by Google Calendar app.
Features:
CrCalendar widget for displaying horizontally scrollable month view, with events lines over days.
date selection dialog (uses CrCalendar widget in range selection mode) with customization of buttons, texts and look of the CrCalendar widget.
Note: avoid using setState calls frequently on the page where the CrCalendar widget is used to improve performance.
Usage of CrCalendar date picker dialog
DatePickerProperties parameters:
Type
Name
Description
Default value
Color
backgroundColor
Background color for date picker dialog and year selection widget.
Colors.white
DateTime
initialPickerDate
Initial date to be opened on dialog creation.
-
EdgeInsets
padding
Picker dialog padding.
EdgeInsets.all(8)
DayItemBuilder
dayItemBuilder
Builder for day item in dialog.
-
TouchMode
pickerMode
Picker selection mode.
-
WeekDaysBuilder
weekDaysBuilder
Builder for row of days over month view.
-
DateTitleBuilder
pickerTitleBuilder
Title builder for widget on top of picker dialog.
-
Alignment
pickerTitleAlignInLandscape
Alignment of picker title in landscape mode.
Alignment.centerLeft
Widget
backButton
Back button for picker control bar.
-
Widget
forwardButton
Forward button for picker control bar.
-
DateTitleBuilder
controlBarTitleBuilder
Builder for control bar title showed between backButton and forwardButton.
-
bool
showControlBar
Option for hiding control bar.
true
YearPickerItemBuilder
yearPickerItemBuilder
Builder for confirm selection button.
-
PickerButtonBuilder
okButtonBuilder
Builder for confirm selection button.
-
PickerButtonBuilder
cancelButtonBuilder
Builder for cancel button.
-
bool
forceSixWeek
Force showing six week rows in month view.
false
WeekDays
firstWeekDay
First day of date picker calendar.
WeekDays.sunday
DateTime
minDate
Earliest allowable date.
-
DateTime
maxDate
Latest allowable date.
-
LandscapeDaysResizeMode
landscapeDaysResizeMode
LandscapeDaysResizeMode.adaptive - days cells will change their height according to parent height LandscapeDaysResizeMode.scrollable - days cells will change their height according to parent height as long as it is larger than the cells width. The month scrolls if there is not enough space
LandscapeDaysResizeMode.adaptive
Base usage:
/// Show calendar in pop up dialog for selecting date range for calendar event.void_showDatePicker(BuildContext context) {
showCrDatePicker(
context,
properties: DatePickerProperties(
firstWeekDay: WeekDays.monday,
okButtonBuilder: (onPress) =>
ElevatedButton(child: constText('OK'), onPressed: onPress),
cancelButtonBuilder: (onPress) =>
OutlinedButton(child: constText('CANCEL'), onPressed: onPress),
initialPickerDate: DateTime.now(),
),
);
}