Buscar pacotes, repositórios e categorias de apps

Repositório GitHubinsideapp-srl/flutter_gantt

flutter_gantt

Pacote Flutter para renderizar um widget de gráfico de Gantt interativo e personalizável.

Capa do projeto flutter_gantt
Estrelas
18
Forks
9
Último push (UTC)
28 de abr. de 2026
Status do projeto
Ativo

README original

Texto original em inglês. Visite o GitHub para a versão atual.

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
InsideApp GitHub avatar
Autor no GitHub

InsideApp ↗

Engineering simplicity through technology

LinguagensDartC++CMakeSwiftCRubyHTMLKotlinObjective-C

Categorias

Pacotes publicados por este repositório

Dependências usadas

Lista de dependências 6 itens

Como escolher um repositório para seu projeto?

Filtre pelo caso de uso, compare a atividade e confira o projeto original antes de adotá-lo.

  1. Busque por nome, autor ou descrição e filtre por tema.
  2. Compare estrelas, forks e envios recentes. Estrelas indicam interesse, mas não garantem qualidade.
  3. Confira o README, a licença e as issues no GitHub antes de usar o projeto.

Fontes e manutenção

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗