Skip to content

Feature Request: Built-in List Drag/Drop Reordering #16763

@johnfesa

Description

@johnfesa

Feature Request:

Add built-in support for the Material list behavior spec that allows reordering of rows using a drag handle (video example). This may be a good candidate for addition to AnimatedList, since it is likely to be used in combination with animated row addition and removal.

Background:

iOS has had built-in support for drag/drop reordering of its list implementation since it first launched. This is trivial to use for developers: toggle a single boolean and implement 1 callback method to update the list's data model when rows are visually re-ordered.

This is a somewhat-documented part of Material design spec. It's a relatively common UX treatment and there is a Material icon designed specifically for this behavior. In addition, Material Components for iOS has an implementation of this functionality.

A cursory search indicates that early adopters of Flutter have requested this functionality a number of times, so it's clear there's already significant demand for this feature.

Metadata

Metadata

Assignees

Labels

c: new featureNothing broken; request for a new capabilitycustomer: mulligan (g3)f: material designflutter/packages/flutter/material repository.f: scrollingViewports, list views, slivers, etc.frameworkflutter/packages/flutter repository. See also f: labels.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions