确认文档只是一个简单的问题:
Android中的getY(int) function from MotionEvent让我对其文档感到困惑:
返回给定指针索引的此事件的Y坐标(使用getPointerId(int)查找此索引的指针标识符)。整数是像素;对于亚像素精确的输入设备,该值可能有一小部分。
有了这个,我认为代码应该这样写:
for(int i = 0; i < event.getPointerCount(); ++i) {
// Some code...
int currentPointer = event.getPointerId(i);
float currentY = event.getY(currentPointer);
Log.i("test", "Pointer " + currentPointer + " has Y-coord of " + currentY);
// Some more code ...
}
然而,在我的三星Galaxy Tab上进行测试时,似乎我不应该将currentPointer传递给getY,而只是将'i'传递给它:
for(int i = 0; i < event.getPointerCount(); ++i) {
// Some code...
int currentPointer = event.getPointerId(i);
float currentY = event.getY(i);
Log.i("test", "Pointer " + currentPointer + " has Y-coord of " + currentY);
// Some more code ...
}
这是使用getPointerId和getY函数的正确方法吗?你给他们两个相同的'i'变量,而不是他们的实际指针id?
我在问,因为我想确保在我的设备上这没有什么不同,这确实是它的工作方式。感谢。
答案 0 :(得分:1)
是的,没错,你应该只指定“我”。
所有getPointer *(int)方法都使用与参数相同的索引。