Android手指检测 - 方向和椭圆

时间:2014-02-26 18:27:52

标签: android motionevent

在使用移动触摸设备时,我一直在寻找一种检测手指方向的方法以及椭圆形式的触摸区域的简化。我选择Android而不是iOS,因为我在getTouchMajor()的Android参考中找到了三种有用的方法(getTouchMinor()getOrientation()MotionEvent class)。 但我试图在我的应用程序中实现这三种方法,遗憾的是它们没有返回所需的值。无论如何,方向都保持为0,而getTouchMajor和getTouchMinor每次都完全相同。

所以我的问题是:我做错了还是这些方法还没有实现呢?

(我在几个不同的设备上尝试过这些功能,包括:Nexus 5,Nexus 7和HTC One)

1 个答案:

答案 0 :(得分:3)

当我们一起工作时,我知道你知道这个答案,但我只想提出这样的说法,即Stackoverflow的其他用户也可以拥有它。

我们发现了一些暗示性评论,大多数设备的触摸屏驱动程序可能无法将此数据提供给系统。

我们最初测试过:三星Galaxy S2,HTC One,Nexus 5(LG)和Nexus 7(华硕),三星Galaxy Tap 3.

与其他三星Galaxy Tap 3相比,为getTouchMajor()和getTouchMinor()提供了不同的值,但是这种关系看起来是getTouchMajor()= getTouchMinor()* 3,而getOrientation()始终为0,如与所有其他设备一起使用。

大约2个月后,当您在开发者设置下激活输入:指针位置时,我们发现 Google Nexus 10 可以显示带方向线的椭圆。

最初的结论是大多数设备不支持getTouchMajor(),getTouchMinor()。或getOrientation(),这可能是电容式触摸屏的限制。 但是看到 Nexus 10 ,以及对椭圆和方向的跟踪为新的交互设计带来了希望。

它向我表明,某些设备确实提供了getTouchMinor和getTouchMajor以及方向。 (或相同功能的历史版本)。 我自己没有机会为设备编码,但看起来似乎有道理。