我想编写一个应用程序来响应用户手指施加的压力。具体来说,我想用它来改变被绘制线条的粗细。我很高兴只对应用于屏幕的手指表面区域做出反应。
MotionEvent.getSize()和MotionEvent.getPressure()函数看起来正是我想要的,但没有提及它们的准确性或它们的返回值的含义。根据我的需要,这些方法的返回值是否足够准确?
我很好奇为什么没有流行的Android应用程序利用压力敏感性。我发现很少有文章提到这些方法,只是遇到了讨论设备特定错误的帖子: http://groups.google.com/group/android-porting/browse_thread/thread/7e8b1bb77dc7d82d
答案 0 :(得分:4)
请注意,电容式触摸屏实际上并不直接测量压力;一般来说,他们报告的压力信息是根据大小以某种方式计算出来的(因为更加努力地推动你的手指会导致更多的信息触及屏幕)。
您绝对不能假设特定设备会报告压力或大小。而且,对于压力,这与用户按压的实际压力之间的关系将在设备之间变化很大。对于生产质量的东西,您将希望您的应用程序能够根据它正在运行的任何设备上的数据进行自我调整。
答案 1 :(得分:3)
您可以在名为Markers的项目中找到有用的信息。在Eclair之后,电容式屏幕中已经有了压力检测。