我的目标是构建一个小部件,允许使用单指点击进行绘制,并在两指模式下缩放/移动画布。
目前我已经构建了ZoomView和DrawingOverlay小部件。ZoomView允许缩放和移动作为参数传递的子项。并DrawingOverlay允许在作为参数传递的小部件之上进行绘制child。现在他们分开工作得很好。
class ZoomView {
build() {
return GestureDetector(
onScaleUpdate: () { ... }
...
)
}
}
class DrawingOverlay {
build() {
return GestureDetector(
onPanUpdate: () { ... }
...
)
}
}
Run Code Online (Sandbox Code Playgroud)
然而,当它们一起使用时,事情就会破裂:
build() {
ZoomView(
child: DrawingOverlay(
child: ...
)
)
}
Run Code Online (Sandbox Code Playgroud)
优先权感觉很大程度上是偶然的。有时,按下两根手指时它会开始绘图,有时它会用一根手指移动屏幕,有时则相反。
我想限制ZoomView为仅 2 个手指手势和DrawingOverlay仅 1 个手指手势。
实现这一目标的最佳方法是什么?
| 归档时间: |
|
| 查看次数: |
942 次 |
| 最近记录: |