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

时间:2009-05-28 12:30:59

标签: android

我想根据轨迹球运动在屏幕上移动图像。我可以使用onTrackballEvent方法捕获运动。但是这需要跟踪球的非常小的浮点值(我相信每次旋转?)。

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

我们是否有任何方法可以判断用户是否停止使用轨迹球?

2 个答案:

答案 0 :(得分:2)

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

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

必须选择合适的超时,以便不会将用户交互视为过于迟缓。也许是大约200-300毫秒或更多的东西。这很容易调整,直到感觉“正确”。

答案 1 :(得分:1)

我在设定门槛方面也获得了很多价值。因此,如果特定方向上的总移动累加到给定量,则触发导航事件。