Flutter 获得;详情;颤振姿态检测器上的双击

Flutter 获得;详情;颤振姿态检测器上的双击,flutter,webview,gesturedetector,Flutter,Webview,Gesturedetector,我正在开发和应用程序,双击时我需要执行一些操作,但它们需要执行双击的位置。该信息通常由“onTapDown/Up”等事件中的细节携带 现在,我知道你可以在手势检测器上同时调用“onTapDown”和“doubleTap”,但是如果你有一个孩子做了“onTap”手势,“onTapDown”不会在双击发生时触发。在我的例子中,我在GestureDetector下有一个WebView,所以只有“onDoubleTap”触发 我已经在这个请求()中向Flitter团队提出了在“onDoubleTap”中

我正在开发和应用程序,双击时我需要执行一些操作,但它们需要执行双击的位置。该信息通常由“onTapDown/Up”等事件中的细节携带

现在,我知道你可以在手势检测器上同时调用“onTapDown”和“doubleTap”,但是如果你有一个孩子做了“onTap”手势,“onTapDown”不会在双击发生时触发。在我的例子中,我在GestureDetector下有一个WebView,所以只有“onDoubleTap”触发

我已经在这个请求()中向Flitter团队提出了在“onDoubleTap”中添加“细节”的意见,但看起来需要一段时间

在同一条线索中,他们提出了我已经尝试过的两种解决方案。首先,使用此代码:

var lastTapDown = 0;

onTapDown: (details) {
  var now = DateTime.now().millisecondsSinceEpoch;
  if (now - lastTapDown < 200) {
    print("Double Tap!")
  }
  lastTapDown = now;
},
var lastTapDown=0;
onTapDown:(详细信息){
var now=DateTime.now().millissecondssinceepoch;
如果(现在-上次记录<200){
打印(“双击!”)
}
LastTappdown=现在;
},

第一个解决方案是有效的,但我不能使用它,因为我需要WebView声明“onTap”

另一个使用这个插件:,这是我做的,很好,但它遇到了和我一样的问题,如果你有一个孩子在竞技场上赢得了“onTap”,那么“onTapDown”就不会开火

因此,如果有人能帮助我获得该职位,我将不胜感激。:)


谢谢。

版本1.22.0(发布日期:2020年10月1日)提供。您可以通过
onDoubleTapDown
获取详细信息

tappdownDetails\u doubletappDetails;
void\u handledoubletappdown(tappdown详细信息){
_doubleTapDetails=详细信息;
}
void_handleDoubleTap(){
打印('双击位置${u doubleTapDetails.localPosition}');
}
@凌驾
小部件构建(构建上下文){
返回手势检测器(
/* ... */
OnDubleTapdown:_handledDubleTapdown,
onDoubleTap:_handledDoubleTap,
);
}

是的,当我问这个问题时,我提出了这个要求。幸运的是,他们补充道。但非常感谢您添加答案:)