【发布时间】:2021-12-28 00:37:37
【问题描述】:
我有GestureDetector,如果它在边缘附近开始,我只检测到onHorizontalDrag。如果手势对我无效,我如何将手势传递给InteractiveViewer? if(isHorizontalDragActive == false)
return GestureDetector(
behavior: HitTestBehavior.deferToChild,
onHorizontalDragStart: (DragStartDetails details) {
// allows start only near L/R edges.
final double dX = details.localPosition.dx;
final double dW = constraints.maxWidth / 6;
if (dX < dW || dX > (constraints.maxWidth - dW)) {
isHorizontalDragActive = true;
} else {
isHorizontalDragActive = false;
}
},
onHorizontalDragEnd: (DragEndDetails details) {
if (isHorizontalDragActive == true) {
final double velocity = details.primaryVelocity ?? 0;
if (velocity < 0) {
manager.toForwardPage();
} else if (velocity > 0) {
manager.toBackwardPage();
}
}
isHorizontalDragActive = false;
},
child: InteractiveViewer
现在,如果我缩放InteractiveViewer,我无法开始在InteractiveViewer 内水平方向移动内容。
【问题讨论】:
标签: flutter uigesturerecognizer gesturedetector