我想根据轨迹球运动在屏幕上移动图像。我可以使用onTrackballEvent方法捕获运动。但是这需要跟踪球的非常小的浮点值(我相信每次旋转?)。
现在,当使用LayoutParams指定时,视图的X和Y位置应该是整数,因此每次旋转移动视图都没有意义。相反,我想在用户停止旋转轨迹球后才移动视图。
我们是否有任何方法可以判断用户是否停止使用轨迹球?
答案 0 :(得分:2)
如果没有(我不知道Android),经典的方法是在每个事件中启动一个计时器,并跟踪其中报告的增量(通过将它们添加到运行总和,一个用于X)和一个Y)。在任何后续事件中,在计时器触发之前,只需重新启动相同的计时器,将其触发进一步推向未来。
当用户停止生成事件时,计时器最终会触发,然后您可以应用所有动作的总和,并清除总和。
必须选择合适的超时,以便不会将用户交互视为过于迟缓。也许是大约200-300毫秒或更多的东西。这很容易调整,直到感觉“正确”。
答案 1 :(得分:1)
我在设定门槛方面也获得了很多价值。因此,如果特定方向上的总移动累加到给定量,则触发导航事件。