我想根据轨迹球的运动在屏幕上移动一个图像。我能用ontrackballevent方法捕捉动作。但这是为非常小的浮点值调用的(我相信每一个旋转?)关于轨迹球。
现在,当使用layoutparams指定时,由于视图的x和y位置应该是整数,因此每次旋转都移动视图是没有意义的。相反,我只想在用户停止旋转轨迹球后移动视图。
有没有什么方法可以让我们知道用户是否停止使用trackball?

最佳答案

如果没有(我不知道android),经典的方法是在每个事件中启动一个计时器,并跟踪其中报告的增量(通过将它们添加到运行总和中,一个用于x,一个用于y)。在任何后续事件中,在计时器触发之前,只需重新启动同一个计时器,将其触发推到更远的将来。
当用户停止生成事件时,计时器将最终触发,然后您可以应用所有移动的总和,并清除总和。
必须选择适当的超时,以便用户交互不会被认为太慢。可能是200-300毫秒或更长的时间。这很容易调整,直到感觉“正确”。

关于android - Android-轨迹球 Activity 结束了吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/920597/

10-08 21:13