如何解决Flutter无限拖放画布
目标是创建许多桌面应用程序中常见的节点编辑器。
交互式画布是使用InteractiveViewer
实现的。
为了在拖动节点时绘制连接边,需要大背景DragTarget
,该背景需要用onMove
回调函数更新边的终点。
不幸的是,实际端点也必须是DragTarget
。
我无法将背景DragTarget
放在InteractiveViewer
之后,因为InteractiveViewer
不允许进行任何交互。
我无法将背景DragTarget
放在Interactive
查看器内部的端点后面,因为在平移和缩放时它将不会使小部件。
即使我变换了背景DragTarget
,InteractiveViewer
的逆变换命中测试也仅在原始区域中执行,无论我将transformHitTests
设置为什么。
我的第二个想法是,在DragTarget
中返回false的onWillAccept
应该测试以下的DragTargets。事实并非如此。
我完全没有想法,会喜欢任何意见。
我在主版本(现在:1.22.0-10.0.pre.331)以及macOS和Chrome上进行了测试。 当前仓库:https://github.com/YmiYugy/node_editor
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。