Buscar pacotes, repositórios e categorias de apps

Capa de cr_calendar
Detalhes do pacotev1.3.0

cr_calendar

Calendário incrível com personalizações, seleção de intervalo e exibição de eventos.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
158
Curtidas
113
Pontos Pub
150

Instalar pacote

flutter pub add cr_calendar

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

cr_calendar é um pacote de calendário personalizável para Flutter que suporta seleção de intervalo, destaque de eventos e amplas opções de estilização. Ele fornece uma interface limpa e moderna para exibir datas e eventos em múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. O pacote permite que desenvolvedores ajustem a aparência e o comportamento do calendário para atender a diversos casos de uso, como agendamentos, sistemas de reserva ou planejadores pessoais. Com suporte integrado para intervalos de data e marcadores de eventos, simplifica a gestão de datas em aplicativos Flutter.

Casos de uso

  • Agendamento de consultas
  • Sistemas de reserva
  • Rastreamento de eventos
  • Planejadores pessoais
  • Seleção de intervalo de datas
  • Painéis baseados em calendário

Principais recursos

  • UI personalizável
  • Seleção de intervalo de datas
  • Marcação de evento
  • Suporte multiplataforma
  • Formatação de data flexível
  • Integração de tema

Indicado para

  • Desenvolvedores construindo aplicativos de agendamento
  • Equipes criando interfaces de reserva
  • Aplicativos que exigem visualização de data
  • Projetos Flutter com necessidades de calendário
  • seletores de data voltados para a interface do usuário

Considerações

  • Requer gerenciamento manual de dados de evento
  • localização embutida limitada
  • Sem seleção nativa de horário
  • Estilo pode exigir código personalizado
  • nuances específicas de plataforma para renderização
  • Dependente de gerenciamento externo de estado

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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.
Screenshots of example app:

Installation

Add cr_calendar as a dependency in pubspec.yaml.

Then import it to your project:

import 'package:cr_calendar/src/cr_calendar.dart';


Usage of CrCalendar
CrCalendar parameters:
Type Name Description Default value
CrCalendarController controller Calendar controller -
DateTime initialDate Initial date to be showed when calendar created -
OnTapCallback onDayClicked Callback fired when calendar day is tapped in calendar with TouchMode.singleTap touch mode. -
WeekDays firstDayOfWeek Sets day from which week begins WeekDays.sunday
WeekDaysBuilder weekDaysBuilder Builder for customization week days row at top of the calendar widget. -
DayItemBuilder dayItemBuilder Builder for customization of days cells. -
bool forceSixWeek Force calendar to display sixth row in month view even if this week is not in current month. false
Color backgroundColor Background color of the calendar -
int maxEventLines Number of events widgets to be displayed over day item cell 4
EventBuilder eventBuilder Event widget builder -
TouchMode touchMode Touch mode of calendar. -
double eventsTopPadding Padding over events widgets to for correction of their alignment. -
OnRangeSelectedCallback onRangeSelected Callback for receiving selected range when calendar is used as date picker. -
int onSwipeCallbackDebounceMs Time in milliseconds for debounce CrCalendarController onSwipe callback. -
DateTime minDate Earliest allowable date. -
DateTime maxDate Latest allowable date. -
Base usage:
class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  CrCalendarController _controller = CrCalendarController();

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: CrCalendar(
          initialDate: DateTime.now(),
          controller: _controller,
        ),
      ),
    );
  }
}

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: const Text('OK'), onPressed: onPress),
        cancelButtonBuilder: (onPress) =>
            OutlinedButton(child: const Text('CANCEL'), onPressed: onPress),
        initialPickerDate: DateTime.now(),
      ),
    );
  }

Categorias

Dependências

Lista de dependências 3 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.