我正在尝试创建一个上下文菜单,该菜单在长按后显示,同时将手指保持在对象上,之后您将选择一个选项(通过拖动手指)并抬起它以启动操作。
我注意到一些对我来说有点奇怪的事情。首先,代码:
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
后调用。我想同时处理 onTapUp
和 onLongPress
。
知道为什么会这样吗?
最佳答案
您可以包裹另一个手势检测器来处理点击。
我不确定当前行为是否是错误,因此您可能希望将其提交到问题跟踪器。
关于uigesturerecognizer - onLongPress 之后不调用 onTapUp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50426881/