uigesturerecognizer - onLongPress 之后不调用 onTapUp

标签 uigesturerecognizer flutter long-press

我正在尝试创建一个上下文菜单,该菜单在长按后显示,同时将手指保持在对象上,之后您将选择一个选项(通过拖动手指)并抬起它以启动操作。

我注意到一些对我来说有点奇怪的事情。首先,代码:

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(MaterialApp(
        home: Scaffold(
          body: GestureDetector(
            onLongPress: () {
              print("onLongPress");
            },
            onTapUp: (TapUpDetails details) {
              print("onTapUp");
            },
            child: Center(
              child: FlutterLogo(),
            ),
          ),
        ),
      ));
    }

因此,如果我运行此程序,在长按图标后,将调用 onLongPress 的处理程序,但在抬起手指后,不会调用 onTapUp。如果我注释掉 onLongPress 的处理程序(所有 3 行),然后在长按 onTapUp 后调用。我想同时处理 onTapUponLongPress

知道为什么会这样吗?

最佳答案

您可以包裹另一个手势检测器来处理点击。

我不确定当前行为是否是错误,因此您可能希望将其提交到问题跟踪器。

关于uigesturerecognizer - onLongPress 之后不调用 onTapUp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50426881/

相关文章:

ios - 使用 spritekit 检测释放快速滑动时的坐标

api - 无法在itemCount中获取数据长度

Android Studio 2022.3.1(Mac Intel)无法创建Flutter项目

android - 如何在阵列适配器中长按时设置按钮的可见性

安卓 : How to implement longpress manually in touch event?

iphone - UITapGestureRecognizer 操作未触发; userInteractionEnabled 已设置为 YES

ios - 使用 PanGestureRecognizer 创建 UIView 并在不抬起手指的情况下激活它

iphone - iPhone中UI捏合手势放大后如何设置scrollview的内容大小

flutter - 如何在Flutter中完成数据加载后呈现我的小部件

android - 使用 GestureDetector 调用 Longpress 后调用滚动事件