Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检测颤振中的多次触碰?_Java_Android_Flutter_Dart_Flutter Animation - Fatal编程技术网

Java 如何检测颤振中的多次触碰?

Java 如何检测颤振中的多次触碰?,java,android,flutter,dart,flutter-animation,Java,Android,Flutter,Dart,Flutter Animation,各位好, 我对Flitter是个新手,我想构建一个应用程序,检测多个触摸,如果触摸持续时间更长,则在那里设置一个圆圈 与此类似,PlayStore中也有应用程序“Chwazi Finger Chooser”。这就是整个事情最终的样子 你能帮我告诉我需要哪些部件吗或者如果可能,建议一些代码? 到目前为止,我还没有通过我的研究找到答案,我希望你现在 请帮助我:)检查手势检测器小部件 以及那些可用的事件 但是,默认情况下,使用OnTestureListener检测多点触控手势似乎没有实现 您可能尝试的

各位好,

我对Flitter是个新手,我想构建一个应用程序,检测多个触摸如果触摸持续时间更长,则在那里设置一个圆圈

与此类似,PlayStore中也有应用程序“Chwazi Finger Chooser”
。这就是整个事情最终的样子

你能帮我告诉我需要哪些部件吗或者如果可能,建议一些代码?

到目前为止,我还没有通过我的研究找到答案,我希望你现在


请帮助我:)

检查
手势检测器
小部件 以及那些可用的事件

但是,默认情况下,使用
OnTestureListener
检测多点触控手势似乎没有实现

您可能尝试的第一件事是读取
event.pointerCount
以获取屏幕上的手指数。但是,这将等于1。这是因为你将(很可能)永远无法用两个手指在完全相同的毫秒内触摸屏幕

修复它

您必须缓冲指针计数(屏幕上的手指数量)。首先将这些变量添加到要跟踪手势的上下文中的某个位置:

// track how many fingers are used

var bufferedPointerCount = 1
var bufferTolerance = 500 // in ms
var pointerBufferTimer = Timer()
然后,在onTouchEvent(事件:MotionEvent)函数中,添加以下内容:

    // Buffer / Debounce the pointer count
if (event.pointerCount > bufferedPointerCount) {
  bufferedPointerCount = event.pointerCount
  pointerBufferTimer = fixedRateTimer("pointerBufferTimer", true, bufferTolerance, 1000) {
    bufferedPointerCount = 1
    this.cancel() // a non-recurring timer
  }
}


基本上,这会跟踪显示器上手指的最大数量,并使其在bufferTolerance毫秒(此处:500)内保持有效。

非常感谢。但是,例如,一个圆圈是如何出现在触摸的位置的呢?检查CustomPainter小部件,我认为这会有所帮助,并检查这一点。如果您找到了之前关于检测多触点的答案,请向上投票并将其标记为回答。我会在有时间时尝试。如果我需要帮助,我会请求帮助,希望有人(或你)能帮助我:D我真的想要一个像chwazi finger chooser这样的应用程序,这是我的目标