我有一个媒体编辑器类,用于使用贴纸/文本/画笔编辑照片/视频等内容...
我希望用户能够像 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
)
所以问题是,我如何在屏幕顶部显示绘图颜色,并仍然可以触摸和拖动其他小部件,就像预览中一样?