我有一个媒体编辑器类,正在编辑带有贴纸/文本/绘画的照片/视频...
我希望用户能够在所有其他小部件之上绘制,就像 SnapChat 的预览一样。这就是我正在尝试做的:
因此
CustomPainter
被放置在 Stack
内的最后。
问题是我的包含颜色绘制的
CustomPainter
适合屏幕,并且即使周围没有GestureDetector
也正在接受所有触摸事件。
我用于画家的代码受到这个插件的启发:
GestureDetector(
onPanUpdate: (details) {
_onPanUpdate(details);
},
onPanStart: (details) {
_onPanStart(details);
},
onPanEnd: (details) {
_onPanEnd(details);
},
child: CustomPaint(
size: Size.infinite,
willChange: true,
painter: DrawPainter(painterController.pathHistory,
repaint: painterController),
),
),
正如所说,
GestureDetector
不是问题,因为如果我们删除它,画家本身将仅接收所有事件:
CustomPaint(
size: Size.infinite
)
所以问题是如何在屏幕顶部显示绘图颜色,同时仍然像预览中一样触摸并拖动堆栈中的其他小部件?
尝试可触摸。您可以向各个形状添加手势回调。