微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在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.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐