two_dimensional_scrollables 0.3.3 copy "two_dimensional_scrollables: ^0.3.3" to clipboard
two_dimensional_scrollables: ^0.3.3 copied to clipboard

Widgets that scroll using the two dimensional scrolling foundation.

Two Dimensional Scrollables #

A package that provides widgets that scroll in two dimensions, built on the two-dimensional foundation of the Flutter framework.

Features #

This package provides support for TableView and TreeView widgets that scroll in both the vertical and horizontal axes.

TableView #

TableView is a subclass of TwoDimensionalScrollView, building its provided children lazily in a TwoDimensionalViewport. This widget can

  • Scroll diagonally, or lock axes
  • Build infinite rows and columns
  • Apply decorations to rows and columns
  • Handle gestures & custom pointers for rows and columns
  • Pin rows and columns
  • Merge table cells

TreeView #

TreeView is a subclass of TwoDimensionalScrollView, building its provided children lazily in a TwoDimensionalViewport. This widget can

  • Scroll diagonally, or lock axes
  • Apply decorations to tree rows
  • Handle gestures & custom pointers for tree rows
  • Animate TreeViewNodes in and out of view

Getting started #

Depend on it #

Run this command with Flutter:

$ flutter pub add two_dimensional_scrollables

Import it #

Now in your Dart code, you can use:

import 'package:two_dimensional_scrollables/two_dimensional_scrollables.dart';

Usage #

TableView #

The code in example/lib/table_view has three TableView samples, each showcasing different features. The TableExample demonstrates adding and removing rows from the table, and applying TableSpanDecorations. The MergedTableExample demonstrates pinned and merged TableViewCells. Lastly, the InfiniteTableExample demonstrates an infinite TableView.

TreeView #

The code in example/lib/tree_view has two TreeView samples, each showcasing different features. The TreeExample demonstrates most of the default builders and animations. The CustomTreeExample demonstrates a highly customized tree, utilizing TreeView.treeNodeBuilder, TreeView.treeRowBuilder and TreeView.onNodeToggle.

Changelog #

See the Changelog for a list of new features and breaking changes.

Roadmap #

See the GitHub project for a prioritized list of feature requests and known issues.

Additional information #

The package uses the two-dimensional foundation from the Flutter framework, meaning most of the core functionality of 2D scrolling is not implemented here. This also means any subclass of the foundation can create different 2D scrolling widgets and be added to the collection. If you want to contribute to this package, you can open a pull request in Flutter Packages and add the tag "p: two_dimensional_scrollables".

407
likes
160
points
70.7k
downloads

Publisher

verified publisherflutter.dev

Weekly Downloads

Widgets that scroll using the two dimensional scrolling foundation.

Repository (GitHub)
View/report issues
Contributing

Topics

#scrollable #widget

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter

More

Packages that depend on two_dimensional_scrollables