Моя цель - создать виджет, который позволяет рисовать одним касанием пальца, и масштабировать / перемещать холст в режиме двумя пальцами.
На данный момент я создал ZoomView и DrawingOverlay виджеты.ZoomView
позволяет масштабировать и перемещать дочерний элемент, переданный в качестве параметра.И DrawingOverlay
позволяет рисовать поверх виджета child
, переданного в качестве параметра.Прямо сейчас они работают хорошо по отдельности.
class ZoomView {
build() {
return GestureDetector(
onScaleUpdate: () { ... }
...
)
}
}
class DrawingOverlay {
build() {
return GestureDetector(
onPanUpdate: () { ... }
...
)
}
}
Однако, когда они используются вместе, вещи распадаются:
build() {
ZoomView(
child: DrawingOverlay(
child: ...
)
)
}
Приоритет ощущается в значительной степени случайно.Иногда он начинает рисовать, когда нажимается 2 пальца, а иногда перемещает экран одним пальцем, а иногда наоборот.
Я хотел бы ограничить ZoomView
только двумя жестами и DrawingOverlay
- 1только жесты пальцами.
Какой лучший способ добиться этого?