Skip to content

[material_ui] Add ReorderableListView.separated constructor - #12779

Draft
krolmic wants to merge 1 commit into
flutter:mainfrom
krolmic:material-ui-reorderable-list-separated
Draft

[material_ui] Add ReorderableListView.separated constructor#12779
krolmic wants to merge 1 commit into
flutter:mainfrom
krolmic:material-ui-reorderable-list-separated

Conversation

@krolmic

@krolmic krolmic commented Sep 8, 2026

Copy link
Copy Markdown

Ports the Material half of flutter/flutter#190131 per flutter/flutter#188444: a reorderable list with separators between items, mirroring ListView.separated.

This ports the Material half of flutter/flutter#190131 to material_ui,
following flutter/flutter#188444 (Material is frozen in
flutter/flutter). The widgets half (SliverReorderableList.separated,
which this constructor wraps) remains in flutter/flutter#190131. The API
example wraps each ListTile in its own keyed Material so tile
backgrounds move with their tiles during a drag, addressing
review feedback
from @Piinks on the original PR (tileColor is painted by the nearest
ancestor Material, per the ListTile documentation).

This PR depends on SliverReorderableList.separated landing in
flutter/flutter (flutter/flutter#190131). Once that API is in a Flutter
release CI can use, I'll bump flutter: in pubspec.yaml and mark
this ready for review.

Fixes flutter/flutter#76706

Pre-Review Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

Footnotes

  1. Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. 2

Ports the Material half of flutter/flutter#190131 per
flutter/flutter#188444: a reorderable list with separators between items, mirroring ListView.separated.
@github-actions github-actions Bot added p: material_ui triage-design Should be looked at in design triage labels Sep 8, 2026
@krolmic
krolmic marked this pull request as draft September 8, 2026 08:39

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the ReorderableListView.separated constructor to ReorderableListView, allowing the creation of reorderable lists with separators between items. It includes an example implementation, comprehensive unit tests, and a pending changelog entry. A critical syntax error was identified in the example file where EdgeInsets was omitted from the padding property.

final Color evenItemColor = colorScheme.primary.withValues(alpha: 0.15);

return ReorderableListView.separated(
padding: const .symmetric(horizontal: 40.0),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

There is a syntax error here: .symmetric is missing the EdgeInsets class name. It should be EdgeInsets.symmetric.

Suggested change
padding: const .symmetric(horizontal: 40.0),
padding: const EdgeInsets.symmetric(horizontal: 40.0),

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

p: material_ui triage-design Should be looked at in design triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add ReorderableListView.seperated constructor

1 participant