搜尋套件、儲存庫與 APP 分類

flutter_gantt 封面
套件詳情v1.4.0

flutter_gantt

用於渲染互動式且可自訂甘特圖元件的 Flutter 套件。

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
1140
喜歡數
27
Pub 分數
160

安裝套件

flutter pub add flutter_gantt

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

Flutter Gantt 是一個可自訂且互動式的 Gantt 圖表小工具,適用於 Flutter,讓開發者能在多個平台視覺化專案時間軸、任務與相依性。它支援動態任務排程、拖曳與放置功能,以及響應式設計,非常適合專案管理應用程式。此套件與 Flutter 的 UI 架構完全整合,並提供廣泛的樣式與行為設定選項。由 insideapp.it 維護,並在 GitHub 上開放,歡迎社群貢獻。

適用情境

  • 專案時間軸可視化
  • 應用中的任務排程
  • 資源規劃工具
  • 敏捷專案管理
  • 團隊工作流程追蹤

主要特色

  • 互動式拖曳與放置
  • 可自定義的任務樣式
  • 跨平台支援
  • 響應式佈局
  • 任務依賴關係渲染
  • 可設定的縮放與捲動

適合對象

  • 專案管理應用
  • 生產力工具
  • 開發衝刺追蹤器
  • 企業規劃軟體
  • 教育專案儀表板

使用建議

  • 需要仔細處理大型資料集
  • 有限的內建主題支援
  • 可能需要額外的邏輯來處理複雜的依賴關係
  • 大量任務帶來的效能影響
  • 文件可能需要更詳細的說明

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

Flutter Gantt Chart

Pub Version Pub Points License

A production-ready, fully customizable Gantt chart widget for Flutter applications.

Gantt Chart Demo


Features

  • 💓 Scrollable timeline view
  • ↔ Draggable
  • 🎈 Complete visual customization
  • 🛳 Hierarchical activities with parent/child relationships
  • 🙳 Activity custom builder
  • 👅 Built-in date utilities and calculations
  • 🚀 Optimized for performance
  • 😱 Responsive across all platforms

Installation

Add to your pubspec.yaml:

yaml dependencies: flutter_gantt: <latest-version>

Then run:

bash flutter pub get


Quick Start

import 'package:flutter_gantt/flutter_gantt.dart';

Gantt(
  theme: GanttTheme.of(context),
  activitiesAsync: (startDate, endDate, activity) async => _activities,
  holidaysAsync: (startDate, endDate, holidays) async _holidays,
  onActivityChanged: (activity, start, end) {
    if (start != null && end != null) {
      debugPrint('$activity was moved (Event on widget)');
    } else if (start != null) {
      debugPrint(
        '$activity start was moved (Event on widget)',
      );
    } else if (end != null) {
      debugPrint('$activity end was moved (Event on widget)');
    }
  },
),

Documentation

Core Components
Gantt Widget

The main chart container with these key properties:

Property Type Description
startDate DateTime Initial visible date
activities List Activities to display
holidays List Special dates to highlight
theme GanttTheme Visual customization
controller GanttController Programmatic control
showIsoWeek bool Enables the ISO week-number row
GanttActivity

Represents a task with:

GanttActivity(
  start: DateTime.now(),
  end: DateTime.now().add(Duration(days: 5)),
  title: 'Task Name',
  color: Colors.blue,
  // Optional:
  children: [/* sub-tasks */],
  onCellTap: (activity) => print('Tapped ${activity.title}'),
)

Advanced Features
Programmatic Control
final controller = GanttController(
    startDate: DateTime.now(),
    daysViews: 30,
);

// Navigate timeline
controller.next(days: 7);   // Move forward
controller.prev(days: 14);  // Move backward

// Update data
controller.setActivities(newActivities);
Custom Builders
GanttActivity(
  cellBuilder: (date) => YourCustomWidget(date),
  titleWidget: YourTitleWidget(),
)
ISO Weeks
GanttActivity(
  showIsoWeek: true,
  ...
)

Weeks


Examples

Explore complete examples in the example folder.


Contributing

We welcome contributions!


License

MIT – See LICENSE for details.

Roadmap

  • Added limitations when dragging
  • Improving documentation
  • Improving mobile usability

所屬分類

依賴

依賴清單 3 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。