A Flutter package for building highly customizable vertical and horizontal timelines with flexible alignment and styling.
TimelineTile is a Flutter package that provides a widget for building customizable timeline interfaces. It solves the problem of creating chronological displays in mobile apps by offering flexible components for both vertical and horizontal timelines with extensive styling options. Developers can use it to visualize sequences like activity logs, delivery tracking, or process steps with complete control over alignment, indicators, and lines.
Flutter developers building mobile applications that need to display chronological data or process flows, such as activity feeds, tracking systems, onboarding sequences, or historical timelines.
Developers choose TimelineTile because it offers unparalleled customization for timeline widgets while maintaining a simple API. Unlike basic timeline solutions, it supports both axes, multiple alignment modes, custom indicators, and fine-grained line styling—all within Flutter's widget ecosystem.
A package to help build customisable timelines in Flutter.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports both vertical and horizontal layouts, enabling versatile designs like football timelines or weather displays, as shown in the example GIFs.
Allows fine-grained control over indicators, lines, and alignment with features like custom icons, dash patterns, and manual positioning, detailed in the README examples.
Follows Flutter's widget composition philosophy with simple parameters for alignment and child placement, making integration straightforward for developers familiar with Flutter.
Includes numerous code snippets and visual examples in the README, such as for delivery tracking and activity feeds, reducing learning curve.
For basic timelines, developers must specify multiple parameters like alignment and constraints, leading to verbosity compared to simpler, drop-in solutions.
As noted in the README, when adding child widgets, explicit minHeight or minWidth constraints are needed, adding complexity for layout control.
The package focuses on static UI components; animations for timeline entries or interactions require custom Flutter code, not provided out-of-the-box.