【发布时间】:2014-02-26 05:21:03
【问题描述】:
查看文档,触摸主要和触摸次要是触摸事件的椭圆轴。一个是针对触摸区域最长测量的长度,另一个是针对触摸事件的最短测量。就像椭圆的测量一样。
但是,我在几个安卓平板电脑上测试了 getTouchMajor 和 getTouchMinor 方法的代码。并通过将手指放下来做到这一点,以便触摸屏幕的表面积在一个方向上会更长,因此它不会是一个圆圈。这样最大和最小数字不应该相同。
问题在于,无论在 on touch down 事件中触摸屏幕的区域是什么形状,两者始终是完全相同的浮点数。实现这一点的唯一方法是触摸屏幕的手指皮肤区域是一个圆圈。
所以基本上,我拥有的两个安卓平板电脑将触摸的触摸事件区域视为圆形区域,有时更大或更小,但总是使其成为圆形,是否有任何设备可以为您提供更准确的形状?
我从这些函数中获得的唯一有用信息是触摸区域的一般大小。
为什么两个数字一样。这不是正确的结果吗?
if(event.getAction() == MotionEvent.ACTION_DOWN){
float x = event.getX();
float y = event.getY();
float touchMajor = event.getTouchMajor(); // major axis of ellipse touch area
float touchMinor = event.getTouchMinor(); // minor axis of ellipse touch area
// Toast.makeText(context, "x " + x , Toast.LENGTH_SHORT).show();
// Toast.makeText(context, "y " + y , Toast.LENGTH_SHORT).show();
Toast.makeText(context, "touchMajor " + touchMajor , Toast.LENGTH_SHORT).show();
Toast.makeText(context, "touchMinor " + touchMinor , Toast.LENGTH_SHORT).show();
【问题讨论】:
标签: android touch ontouchlistener