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
是否可以向 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