如何计算在Android设备上绘图的灵敏度?

时间:2014-11-26 16:33:46

标签: android touch drawing android-canvas

Android SDK建议使用

ViewConfiguration.getScaledTouchSlop()

用于检测触摸屏上的手指是否已被移动。根据Android,ScaledTouchSlop取决于设备,以及分辨率和屏幕灵敏度。

我写过一个视图,用户可以在屏幕上使用Canvas进行绘画,我已经意识到绘画在不同设备上的效果不同。进一步调查显示,ScaledTouchSlop似乎是由设备制造商定义的,并且制造商之间的差异很大。例如

  • ASUS Memo Pad 7在7英寸屏幕上有一个11像素的ScaledTouchSlop。 1280×720。
  • 三星Galaxy Note 2在5.5英寸屏幕上的ScaledTouchSlop为32。 1280×720。

两款屏幕的分辨率大致相同,所以在观看华硕设备时,我原本期望三星设备上的ScaledTouchSlop大约为14(11像素* 7英寸/5.5英寸),但它是32。无法在三星上流利画画,因为通常无法识别较小的笔画。

当然,我可以定义自己的" slop"对于绘图,如果我的绘图工作完美,也在三星设备上。但我想这会对其他设备造成麻烦,这些设备较小或屏幕不太敏感。

是否有一种方法可以计算出用于绘图的触摸污点,或者是否有人在所有设备上都有适合的配方?

0 个答案:

没有答案