android - 需要有关 Android 轨迹球事件的帮助

标签 android event-handling

我有 2 个关于 Android TrackBall 事件的问题。如果您能帮助我解决这些问题,我将不胜感激:

  1. 我可以检测轨迹球事件的速度吗?就像在 Fling 中一样,我可以检测到“大”猛击和“小”猛击。我可以通过轨迹球 throw 吗?

  2. 为什么轨迹球事件总是跟随左/右键事件?对我来说,它们似乎是重复的。

例如,我将调试语句放在dispatchTrackballEvent()和dispatchKeyEvent()中,然后在模拟器中切换到“轨迹球”模式。当我移动鼠标时,我总是看到dispatchTrackballEventevent 和dispatchKeyEvent。

感谢您的帮助。

最佳答案

解答您的疑问:

  1. Android 中的 TrackBall 事件会向您发送一个 MotionEvent 对象 ( docs ),从该对象您可以读取历史信息,让您进行运动增量,这样您就可以知道球滚动的强度.

  2. 这是因为您没有告诉系统您已在 onTrackBallEvent 处理程序 ( docs ) 中使用了该事件,如果您不返回 true,则该事件将作为方向键引发 Activity 。

关于android - 需要有关 Android 轨迹球事件的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1191142/

相关文章:

java - Firebase 模型 POJO getter 在 FirebaseRecyclerAdapter 中返回 null

c# - 处理从另一个线程触发的事件的模式

c# - 方法名称预期 c#

鼠标移动时 Java Applet 速度变慢

android - 使用 Glide 和 RecyclerView 上下滚动时图像消失,图像之间的空间增加

android - 如何禁用可扩展 ListView 中的元素?

android - 在 MediaPlayer 中将数据源设置为原始 ID

java - Android - 定时器概念

javascript - 在 HTML/Javascript 中处理由 ActiveX 控件的属性触发的事件

C# - 为什么使用 EventHandler<T> 会出现错误?