我正在尝试创建一个上下文菜单,在长按后显示,同时将手指放在对象上,之后您将选择一个选项(通过拖动手指)并抬起它以启动操作。
使用Flutter,我注意到对我来说有点奇怪。首先,代码:
import 'package:flutter/material.dart';
void main() {
runApp(new MaterialApp(
home: new Scaffold(
body: new GestureDetector(
onLongPress: () {
print("onLongPress");
},
onTapUp: (TapUpDetails details) {
print("onTapUp");
},
child: new Center(
child: new FlutterLogo(),
),
),
),
));
}
所以,如果我运行它,在长按图标后,则会调用“onLongPress”的处理程序,但在抬起手指后,“onTapUp”不会被调用。如果我注释掉“onLongPress”(所有3行)的处理程序,那么在长按“onTapUp”后调用。我想处理“onTapUp”和“onLongPress”。
为什么会发生这种情况?难道我做错了什么 ?有没有不同的方法来实现这个目标?
我已经尝试过调试它,但我想也许你们可以帮助我(即使调试它很有趣:))。
提前致谢
答案 0 :(得分:0)
你可以用其他手势探测器包裹来处理点击。
我不确定当前行为是否存在错误,因此您可能希望将其提交给问题跟踪器。
答案 1 :(得分:0)
我不知道PR是否会通过,但是我已经用onLongPressUp上的新手势解决了它。