FLUTTER ECOSYSTEM

softmarshmallow/flutter-timeline

⌚️ Flutter 時間線

flutter-timeline 專案封面
Stars
396
Forks
47
最近推送(UTC)
2024年5月21日
專案狀態
未封存
Universe GitHub avatar
GITHUB User

Universe ↗

#make #grida universe@grida.co

@gridaco
語言DartSwiftHTMLKotlinObjective-C

技術主題

此儲存庫發佈的套件

使用的依賴

依賴清單 2 項
  • flutter{"sdk":"flutter"}
  • flutter_test開發依賴{"sdk":"flutter"}

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

展開 / 收合專案 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

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

https://raw.githubusercontent.com/softmarshmallow/flutter-timeline/HEAD/docs/images/desk-ss-01.png

simple example (run it now!)

https://raw.githubusercontent.com/softmarshmallow/flutter-timeline/HEAD/docs/images/mac-ss.png https://raw.githubusercontent.com/softmarshmallow/flutter-timeline/HEAD/docs/images/mac-ss-2.png https://raw.githubusercontent.com/softmarshmallow/flutter-timeline/HEAD/docs/images/mac-ss-3.png

more documentation available at github

Sponsors

sponsored-by-grida

Also check out...

flutter_layouts

references

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