1

我有一个在 Chromebook 上运行的 Android 应用程序。当用户触摸设备的屏幕时,我的视图可以通过捏合和缩放手势进行缩放,这些在 Chromebook 上运行良好。我也在尝试使用触摸板进行捏合缩放。

我可以用三指拖动可滚动元素。我可以用两根手指拖动,它会在拖动有意义的屏幕元素周围拖动。我仍然收到悬停事件,并且事件声称有两个指针,所以这一切都很好。但是,一旦手指开始向相反方向移动,事件流就会停止。

有什么办法可以让我得到未经过滤的所有输入事件流,这样我就可以看到发生了什么?我觉得仿真层尽最大努力让一切“正常工作”(这是一个非常好的努力!)在这里咬我。我还注意到有些事件是作为通用运动事件进来的,有些是作为触摸事件进来的。还有一些,比如点击点击做一些。如果重要的话,ChromeOS Mouse声称它的输入设备数据有( touchscreen mouse )来源,这很有意义。除了它touchpad不应该直接连接到显示器上吗?

此页面上,列表项#5 暗示可能会以某种方式创建和使用某种合成事件。有什么办法可以查看这些是否正在生成?如果是,我将如何利用?

帮助!

更多细节:触摸板的单指操作为我提供了ACTION_HOVER_MOVE 通用事件。只要两个手指一起移动,两指拖动就会给我ACTION_MOVE 触摸事件。一旦他们开始朝不同的方向前进,事件流就会停止。

4

1 回答 1

1

对触摸板的捏合缩放支持仍在进行中。一旦它在那里,它将与用于触摸屏缩放的标准手势识别器无缝工作,您不必做任何事情。

如果您想以 Chromebook 为目标,我强烈建议您升级到 API 级别 24,还有更多关于 Chromebook 输入设备的详细信息,请参见此处:https ://developer.android.com/topic/arc/input-compatibility.html

编辑:“触摸板”设备类型的命名非常混乱。它是为屏幕外设备保留的。触摸板被视为鼠标,因为它在屏幕上移动鼠标光标。

于 2017-07-05T00:33:16.967 回答