如何在Flutter的按钮/图标按下时将ReorderableListView ListTile拖放?

所以我看到 ReorderableListView demo,看到他们有了

“secondary:const Icon(Icons.drag_handle)”

但是看了reorderable_list.dart文件,我发现无论如何整个列表都可以在LongPressDraggable上拖拽[第424行].那么如何才能明确地对源代码或我自己的源代码进行更改,以便正确地使图标成为实际的拖动句柄?

CheckBoxListTile(
      key: Key(item.value),isThreeLine: true,value: item.checkState ?? false,onChanged: (bool newValue) {
        setState(() {
          item.checkState = newValue;
        });
      },title: Text('This item represents ${item.value}.'),subtitle: secondary,secondary: const Icon(Icons.drag_handle),// Make this Icon drag source
    );

谢谢

解决方法

我认为Icon(Icons.drag_handle)只是为了那里的外观,要在ReorderableListView中拖动项目,你必须长按它.

您可以使用flutter_reorderable_list并实现这一目标.正如您在其演示中所看到的,此插件可以按您希望的方式工作.

但是,它与ReorderableListView的工作方式完全不同,代码更改可能有点压倒性.我创建了一个Widget来简化该开关,即widget is here及其demo is here.

如果它适合您的使用案例,请查看并使用它.

相关文章

这篇文章主要讲解了“FlutterComponent动画的显和隐怎么实现...
这篇文章主要讲解了“flutter微信聊天输入框功能如何实现”,...
本篇内容介绍了“Flutter之Navigator的高级用法有哪些”的有...
这篇文章主要介绍“Flutter怎么使用Android原生播放器”,在...
Flutter开发的android端如何修改APP名称,logo,版本号,具体...
Flutter路由管理初识路由概念一.路由管理1.1.Route1.2.Mater...