Search packages, repositories and app categories

boardview cover
Package detailsv1.0.0

boardview

This is a custom Flutter widget that can create a draggable BoardView or also known as a kanban. The view can be reordered with drag and drop.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
3.1K
Likes
146
Pub points
140

Install package

flutter pub add boardview

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

BoardView is a customizable Flutter widget designed to create draggable Kanban-style boards. It enables users to reorder columns and cards through intuitive drag-and-drop interactions, making it ideal for task management and workflow visualization. Built with performance and flexibility in mind, it supports multiple platforms including Android, iOS, Web, macOS, Windows, and Linux. The widget is highly extensible and integrates seamlessly into existing Flutter applications.

Use cases

  • Task management applications
  • Project planning tools
  • Workflow visualization
  • Custom Kanban boards
  • Drag-and-drop interfaces

Key features

  • Drag-and-drop reordering
  • Customizable column and card layouts
  • Cross-platform compatibility
  • Extensible design
  • Smooth animations

Suitable for

  • Developers building Kanban interfaces
  • Teams managing workflows
  • Apps requiring visual task organization
  • UI designers seeking interactive components
  • Flutter projects on multiple platforms

Considerations

  • Requires understanding of Flutter gesture handling
  • May need additional styling for complex designs
  • Performance depends on number of items
  • Limited built-in validation for data integrity
  • Custom logic needed for persistence

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

pub package

Flutter BoardView

This is a custom widget that can create a draggable BoardView or also known as a kanban. The view can be reordered with drag and drop.

Installation

Just add boardview to the pubspec.yaml file.

Usage Example

To get started you can look inside the /example folder. This package is broken into 3 core parts

Example

BoardView

The BoardView class takes in a List of BoardLists. It can also take in a BoardViewController which is can be used to animate to positions in the BoardView


BoardViewController boardViewController = new BoardViewController();

List<BoardList> _lists = List<BoardList>();

BoardView(
  lists: _lists,
  boardViewController: boardViewController,
);

BoardList

The BoardList has several callback methods for when it is being dragged. The header item is a Row and expects a List as its object. The header item on long press will begin the drag process for the BoardList.


    BoardList(
      onStartDragList: (int listIndex) {
    
      },
      onTapList: (int listIndex) async {
    
      },
      onDropList: (int listIndex, int oldListIndex) {       
       
      },
      headerBackgroundColor: Color.fromARGB(255, 235, 236, 240),
      backgroundColor: Color.fromARGB(255, 235, 236, 240),
      header: [
        Expanded(
            child: Padding(
                padding: EdgeInsets.all(5),
                child: Text(
                  "List Item",
                  style: TextStyle(fontSize: 20),
                ))),
      ],
      items: items,
    );

BoardItem

The BoardItem view has several callback methods that get called when dragging. A long press on the item field widget will begin the drag process.


    BoardItem(
        onStartDragItem: (int listIndex, int itemIndex, BoardItemState state) {
        
        },
        onDropItem: (int listIndex, int itemIndex, int oldListIndex,
            int oldItemIndex, BoardItemState state) {
                      
        },
        onTapItem: (int listIndex, int itemIndex, BoardItemState state) async {
        
        },
        item: Card(
          child: Padding(
            padding: const EdgeInsets.all(8.0),
            child: Text("Board Item"),
          ),
        )
    );

Categories

Dependencies

Dependency list 1 items

Source repository

Projects using this package