All Projects → aleksanderwozniak → Table_calendar

aleksanderwozniak / Table_calendar

Licence: apache-2.0
Highly customizable, feature-packed Flutter Calendar with gestures, animations and multiple formats

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to Table calendar

Flutterweekview
Displays a highly customizable week view (or day view) which is able to display events, to be scrolled, to be zoomed-in & out and a lot more !
Stars: ✭ 130 (-85.51%)
Mutual labels:  calendar, widget, calendar-view
Calendarview
An Easy to Use Calendar for iOS (Swift 5.0)
Stars: ✭ 429 (-52.17%)
Mutual labels:  date, calendar, calendar-view
Zebra datepicker
A super-lightweight, highly configurable, cross-browser date / time picker jQuery plugin
Stars: ✭ 367 (-59.09%)
Mutual labels:  date, calendar
React Infinite Calendar
✨ Infinite scrolling date-picker built with React, with localization, range selection, themes, keyboard support, and more.
Stars: ✭ 3,828 (+326.76%)
Mutual labels:  date, calendar
Flutter easyloading
✨A clean and lightweight loading/toast widget for Flutter, easy to use without context, support iOS、Android and Web
Stars: ✭ 455 (-49.28%)
Mutual labels:  widget, flutter-plugin
Cvcalendar
A custom visual calendar for iOS 8+ written in Swift (>= 4.0).
Stars: ✭ 3,435 (+282.94%)
Mutual labels:  calendar, calendar-view
Cadar
Android solution which represents month and list calendar views.
Stars: ✭ 360 (-59.87%)
Mutual labels:  calendar, calendar-view
Tabulator
Interactive Tables and Data Grids for JavaScript
Stars: ✭ 4,329 (+382.61%)
Mutual labels:  widget, table
Timestamp
⏰ A better macOS menu bar clock.
Stars: ✭ 296 (-67%)
Mutual labels:  date, calendar
Mbcalendarkit
An open source calendar framework for iOS, with support for customization, IBDesignable, Autolayout, and more.
Stars: ✭ 561 (-37.46%)
Mutual labels:  calendar, calendar-view
Angular Moment Picker
Angular Moment Picker is an AngularJS directive for date and time picker using Moment.js.
Stars: ✭ 536 (-40.25%)
Mutual labels:  date, calendar
Period
PHP's time range API
Stars: ✭ 616 (-31.33%)
Mutual labels:  date, calendar
Portal Lite
Multi-platform Personalized Portal: Web, Browser Extension. All components are web apps--users can compose their own Portal freely, and developers can contribute to the Privoce Web App library to easily incorporate their web app to our Portal.
Stars: ✭ 335 (-62.65%)
Mutual labels:  calendar, widget
Android Week View
Android Week View is an android library to display calendars (week view or day view) within the app. It supports custom styling.
Stars: ✭ 3,347 (+273.13%)
Mutual labels:  calendar, calendar-view
Material Calendar View
📅 Material Design Calendar compatible with API 11+
Stars: ✭ 360 (-59.87%)
Mutual labels:  calendar, calendar-view
Pandas market calendars
Exchange calendars to use with pandas for trading applications
Stars: ✭ 319 (-64.44%)
Mutual labels:  date, calendar
React Date Picker
A date picker for your React app.
Stars: ✭ 715 (-20.29%)
Mutual labels:  date, calendar
Primedatepicker
PrimeDatePicker is a tool that provides picking a single day, multiple days, and a range of days.
Stars: ✭ 292 (-67.45%)
Mutual labels:  calendar, calendar-view
React Datetime Picker
A datetime picker for your React app.
Stars: ✭ 294 (-67.22%)
Mutual labels:  date, calendar
Crunchycalendar
A beautiful material calendar with endless scroll, range selection and a lot more!
Stars: ✭ 465 (-48.16%)
Mutual labels:  calendar, calendar-view

Table Calendar

Pub Package Awesome Flutter

Highly customizable, feature-packed Flutter Calendar with gestures, animations and multiple formats.

Image Image
Table Calendar with custom styles Table Calendar with Builders

Features

  • Extensive, yet easy to use API
  • Custom Builders for truly flexible UI
  • Complete programmatic control with CalendarController
  • Dynamic events
  • Interface for holidays
  • Locale support
  • Vertical autosizing
  • Beautiful animations
  • Gesture handling
  • Multiple Calendar formats
  • Multiple days of the week formats
  • Specifying available date range
  • Nice, configurable UI out of the box

Usage

Make sure to check out example project. For additional info please refer to API docs.

Installation

Add to pubspec.yaml:

dependencies:
  table_calendar: ^2.3.3

Then import it to your project:

import 'package:table_calendar/table_calendar.dart';

And finally create the TableCalendar with a CalendarController:

@override
void initState() {
  super.initState();
  _calendarController = CalendarController();
}

@override
void dispose() {
  _calendarController.dispose();
  super.dispose();
}

@override
Widget build(BuildContext context) {
  return TableCalendar(
    calendarController: _calendarController,
  );
}

Locale

Table Calendar supports locales. To display the Calendar in desired language, use locale property. If you don't specify it, a default locale will be used.

Initialization

Before you can use a locale, you need to initialize the i18n formatting.

This is independent of Table Calendar package, so I encourage you to do your own research.

A simple way of doing it is as follows:

  • First of all, add intl package to your pubspec.yaml file
  • Then make modifications to your main():
import 'package:intl/date_symbol_data_local.dart';

void main() {
  initializeDateFormatting().then((_) => runApp(MyApp()));
}

After those two steps your app should be ready to use Table Calendar with different languages.

Specifying a language

To specify a language, simply pass it as a String code to locale property.

For example, this will make Table Calendar use Polish language:

TableCalendar(
  locale: 'pl_PL',
),
Image Image Image Image
'en_US' 'pl_PL' 'fr_FR' 'zh_CN'

Note, that if you want to change the language of FormatButton's text, you have to do this yourself. Use availableCalendarFormats property and pass the translated Strings there. Use i18n method of your choice.

You can also hide the button altogether by setting formatButtonVisible to false.

Holidays

Table Calendar provides a simple interface for displaying holidays. Here are a few steps to follow:

  • Fetch a map of holidays tied to dates. You can search for it manually, or perhaps use some online API
  • Convert it to a proper format - note that these are lists of holidays, since one date could have a couple of holidays:
{
  `DateTime A`: [`Holiday A1`, `Holiday A2`, ...],
  `DateTime B`: [`Holiday B1`, `Holiday B2`, ...],
  ...
}
  • Link it to Table Calendar. Use holidays property

And that's your basic setup! Now you can add some styling:

  • By using CalendarStyle properties: holidayStyle and outsideHolidayStyle
  • By using CalendarBuilders for complete UI control over calendar cell

You can also add custom holiday markers thanks to improved marker API. Check out example project for more details.

markersBuilder: (context, date, events, holidays) {
  final children = <Widget>[];

  if (events.isNotEmpty) {
    children.add(
      Positioned(
        right: 1,
        bottom: 1,
        child: _buildEventsMarker(date, events),
      ),
    );
  }

  if (holidays.isNotEmpty) {
    children.add(
      Positioned(
        right: -2,
        top: -2,
        child: _buildHolidaysMarker(),
      ),
    );
  }

  return children;
},
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].