搜索插件、代码仓与 APP 分类

flutter_timeline 封面
插件详情v0.3.0

flutter_timeline

一个完全可自定义且通用的时间轴小部件,基于真实世界应用参考

近 30 天下载
152
喜欢数
138
Pub 分数
60

安装插件

flutter pub add flutter_timeline

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个完全可自定义的 Flutter 时间轴小部件,专为现实世界的应用参考而设计。它支持灵活的布局配置,使开发者能够创建动态且交互式的时间轴,用于事件、流程或历史数据。该小部件具有通用性,适用于各种用例,如项目跟踪、入职流程和事件历史记录。通过直观的自定义选项,它能无缝适应不同的设计需求,同时保持性能和可读性。

适合场景

  • 项目进度跟踪
  • 用户引导流程
  • 历史事件展示
  • 流程图可视化
  • 应用更新日志

主要特点

  • 高度可定制的设计
  • 支持垂直和水平布局
  • 可扩展的事件项配置
  • 响应式且高性能的渲染
  • 内置动画支持

适合对象

  • 开发流程导向的应用程序的开发者
  • 需要灵活时间轴组件的设计师
  • 需要视觉事件顺序的应用程序

使用建议

  • 复杂的动画需要手动设置
  • 有限的平台特定优化
  • 无内置的日期格式化工具
  • 最适合静态或半动态内容
  • 依赖外部样式进行主题集成

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。


framework: flutter platform: Android, iOS, Web, macOS, Linux, Windows tags: flutter, timeline, flutter timeline, timeline tile title: 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

sponsored-by-grida

Also check out...

flutter_layouts

references

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

所属分类

源码仓库

使用此插件的项目

暂无相关数据。