Skip to content

⌚️ A general flutter timeline widget based on real-world application references

License

Notifications You must be signed in to change notification settings

twovs/flutter-timeline

This branch is 7 commits behind gridaco/flutter-timeline:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e2cb4c0 · Aug 10, 2021

History

65 Commits
Sep 1, 2020
Sep 3, 2020
Mar 22, 2021
Aug 10, 2021
Aug 5, 2020
Aug 6, 2020
Aug 5, 2020
Aug 5, 2020
Sep 4, 2020
Aug 7, 2020
Aug 7, 2020
Aug 5, 2020
Apr 24, 2021
Mar 22, 2021
Mar 22, 2021

Repository files navigation

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

flutter_timeline

logo

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, constantly updated, used on production application.

Installation

dependencies:
  flutter_timeline: latest

usage

simple

  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<TimelineEventDisplay> events;

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

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

using offset

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

using anchor & offset

  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!)

more documentation available at github

Sponsors

Also check out...

flutter_layouts

references

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

About

⌚️ A general flutter timeline widget based on real-world application references

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dart 92.8%
  • Swift 3.4%
  • HTML 3.3%
  • Other 0.5%