Flutter - 拖动时的 ReorderableListView

Flutter - ReorderableListView on drag

是否可以向 ReorderableListView 的子级传达 drag/reorder 尝试已经开始?我有一个带有自定义小部件子项(不是 ListTile 小部件)的 ReorderableListView,我希望能够在其中一个开始被拖动时更新它们的视图。例如,在这种情况下:

ReorderableListView(
  onReorder: (oldIndex, newIndex) {},
  children: [
    _CustomWidget(0),
    _CustomWidget(1),
    _CustomWidget(2),
  ]
);

如果 _CustomWidget(1) 开始被拖动,我想降低 _CustomWidget(0)_CustomWidget(2) 的不透明度。我已经尝试使用 GestureDetector 来确定是否正在拖动小部件,但显然吸收了手势并且 ReorderableListView 不再开始拖动。

有没有办法让被拖动的小部件识别其被拖动,或者让 ReorderableListView 在其子项之一被拖动时以某种方式与其父项通信?

目前似乎有一个 PR 正在等待批准,这将帮助您实现这一目标!
https://github.com/flutter/flutter/pull/96049

合并后,您将能够检测重新排序何时开始,以便更改其他项目的不透明度。

如果你不想等PR被合并,你也可以将fork with the modification添加到你的项目中而不是官方的ReorderableListview