如何知道用户是不是停止在 Flutter 中拖出我的小部件?

Posted

技术标签:

【中文标题】如何知道用户是不是停止在 Flutter 中拖出我的小部件?【英文标题】:How to know if user stopped dragging outside my widget in Flutter?如何知道用户是否停止在 Flutter 中拖出我的小部件? 【发布时间】:2021-11-30 09:25:53 【问题描述】:
GestureDetector(
              onPanDown: (_) => setState(() 
                //start some animation
              ),
              onPanEnd: (_) => setState(
                () 
                 //stop the animation
                 //do a callback ONLY IF the user lifted her finger inside my widget's area
                ,
              ),
              child:

我有这个GestureDetector,并且我只想在以下情况下执行回调:用户开始触摸手势检测器内的屏幕并开始拖动到她想要的任何地方,但她必须在手势检测器的边界区域内抬起手指回调发生的顺序

我如何知道她是否停止在我的小部件内部而不是在它外部拖动? DragEndDetails 给出速度但不给出手指/指针的位置。

【问题讨论】:

【参考方案1】:

使用onTap 属性而不是onPanDownonPanEnd 解决了这个问题

【讨论】:

以上是关于如何知道用户是不是停止在 Flutter 中拖出我的小部件?的主要内容,如果未能解决你的问题,请参考以下文章

如何允许用户将文件拖出 Cocoa 应用程序

在嵌套数据表中拖放

QDockWidget - QGlWidget - 当小部件从停靠栏中拖出时,可绘制无效

从固定的 UIImageView 或按钮中拖出新的 UIImageView 对象

如何确定Outlook拖放期间拖动的附件

需要在icarousel中拖放视图