Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gridaco/flutter-timeline

⌚️ Flutter timelines
https://github.com/gridaco/flutter-timeline

calendar customizable events flutter flutter-timeline flutter-widget indicator-dot tile timeline-tile timline ui

Last synced: about 22 hours ago
JSON representation

⌚️ Flutter timelines

Awesome Lists containing this project

README

        

---
framework: flutter
platform: Android, iOS, Web, macOS, Linux, Windows
tags: flutter, timeline, flutter timeline, timeline tile
title: flutter timeline
---


# flutter_timeline [![](https://img.shields.io/badge/pub-latest-brightgreen)](https://pub.dev/packages/flutter_timeline)

![logo](docs/images/logo.png)

> a fully customizable & general timeline widget, based on real-world application references

- ✅ fully customizable indicator dot
- ✅ support spacing between indicator dot and lines
- ✅ support spacing between event (items) but leaving the line connected
- ✅ uses custom paint, but yet, indicator and body are fully customizable.
- ✅ 2 real-world demos
- ✅ L2R support
- ✅ anchor support
- ✅ global offset support
- ✅ item offset support
- ✅ supported & used by [enterprise](https://github.com/genoplan), constantly updated, used on production application.

## Installation

```yaml
dependencies:
flutter_timeline: latest
```

## usage

_simple_

```dart
TimelineEventDisplay get plainEventDisplay {
return TimelineEventDisplay(
child: TimelineEventCard(
title: Text("just now"),
content: Text("someone commented on your timeline ${DateTime.now()}"),
),
indicator: TimelineDots.of(context).circleIcon);
}

List events;

Widget _buildTimeline() {
return TimelineTheme(
data: TimelineThemeData(lineColor: Colors.blueAccent),
child: Timeline(
indicatorSize: 56,
events: events,
));
}

void _addEvent() {
setState(() {
events.add(plainEventDisplay);
});
}
```

_using offset_

```dart
Widget _buildTimeline() {
return Timeline(
indicatorSize: 56,
events: events,
altOffset: Offset(0, -24) // set offset
);
}
```

_using anchor & offset_

```dart
TimelineEventDisplay get plainEventDisplay {
return TimelineEventDisplay(
anchor: IndicatorPosition.top,
indicatorOffset: Offset(0, 24),
child: TimelineEventCard(
title: Text("multi\nline\ntitle\nawesome!"),
content: Text("someone commented on your timeline ${DateTime.now()}"),
),
indicator: randomIndicator);
}
```

## complex example

## simple example [(run it now!)](https://softmarshmallow.github.io/flutter-timeline/)



more documentation available at [github](https://github.com/softmarshmallow/flutter-timeline)

## Sponsors

[![sponsored-by-grida](https://s3.us-west-1.amazonaws.com/brand.grida.co/badges-for-github/sponsored-by-grida-oss-program.png)](https://grida.co)

## Also check out...

[flutter_layouts](https://github.com/softmarshmallow/flutter-layouts)

## references

https://www.pinterest.com/official_softmarshmallow/flutter-timeline/