1

我正在将我的 android 应用程序转换为 Chromebook,并发现外接鼠标的行为非常奇怪。

以下是我的观察

1) 外接滚轮鼠标连接到 Chromebook,在滚轮上,onGenricMotionEvent 方法中不会触发 ACTION_SCROLL。不要为什么

2) 所有通过onTouchEvent 方法而不是onGenricMotionEvent 方法传递的事件只有鼠标指针相关的事件在onGenericMotionEvent 中传入。

如果您将外接鼠标连接到手机或平板电脑,您将获得与预期相同的行为。即 ACTION_SCROLL 事件将通过鼠标滚轮滚动,并且事件不会出现在 onTouchEvent 方法中,而是转到 onGenericMotionEvent 方法。

我的问题是这是这样设计的还是我做错了什么?或者它是谷歌 Chromebook 中的错误?

任何类型的帮助将不胜感激

4

2 回答 2

1

此问题可能已在最新的 ChromeOS 中得到修复。
在我的 Acer R11 中,触发了 ACTION_SCROLL。

https://chromereleases.googleblog.com/2017/10/stable-channel-update-for-chrome-os.html

于 2017-10-20T09:23:35.030 回答
0

这是预期的行为,出于兼容性原因。许多应用程序在使用 onGenericMotionEvents 滚动时遇到问题,因此在 ChromeOS 上,鼠标在滚动时会模拟触摸屏。

ChromeOS 上的 Android 应用程序必须在使现有应用程序正常运行和保持 API 预期之间取得相当微妙的平衡。

于 2016-12-20T17:45:16.737 回答