Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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
Android-轨迹球比赛结束了吗?_Android - Fatal编程技术网

Android-轨迹球比赛结束了吗?

Android-轨迹球比赛结束了吗?,android,Android,我想根据轨迹球的运动在屏幕上移动图像。我能够使用OnTrackBalleEvent方法捕捉动作。但这需要轨迹球的非常小的浮动值(我相信每个旋转?) 现在,当使用LayoutParams指定时,视图的X和Y位置应该是整数,因此每次旋转都移动视图是没有意义的。相反,我只想在用户停止旋转轨迹球后移动视图 有没有什么方法可以让我们知道用户是否停止使用轨迹球?如果没有(我不知道Android),经典的方法是在每个事件中启动一个计时器,并跟踪其中报告的增量(通过将它们添加到运行总和中,一个用于X,一个用于Y

我想根据轨迹球的运动在屏幕上移动图像。我能够使用OnTrackBalleEvent方法捕捉动作。但这需要轨迹球的非常小的浮动值(我相信每个旋转?)

现在,当使用LayoutParams指定时,视图的X和Y位置应该是整数,因此每次旋转都移动视图是没有意义的。相反,我只想在用户停止旋转轨迹球后移动视图

有没有什么方法可以让我们知道用户是否停止使用轨迹球?

如果没有(我不知道Android),经典的方法是在每个事件中启动一个计时器,并跟踪其中报告的增量(通过将它们添加到运行总和中,一个用于X,一个用于Y)。在任何后续事件中,在计时器触发之前,只需重新启动同一个计时器,将其触发进一步推向未来

当用户停止生成事件时,计时器将最终触发,然后您可以应用所有移动的总和,并清除总和


必须选择一个合适的超时,这样用户交互就不会被认为太慢。也许是200-300毫秒,或者更多。这很容易调整,直到感觉“正确”为止。

我也从设置阈值中获得了很多价值。因此,如果某一特定方向上的总移动量加起来达到某一给定量,则会触发导航事件。

谢谢哈斯曼。我就是这么做的。一旦差异变得重要,我就会改变视图的位置