以下是我的问题:
- 我按下屏幕。我可以使用MotionEvent类的ACTION_DOWN变量跟踪此触摸事件。当我将这个初始手指按在屏幕上时,我的问题出现了。我希望能够在屏幕上跟踪任何其他触摸事件。
我认为我的问题基本上是,即使正在进行,我如何跟踪后续触摸事件呢?
最佳, Aneem
编辑:
public boolean onTouchEvent(final MotionEvent ev) {
if(ev.getAction()==ev.ACTION_DOWN||ev.getActionMasked()==ev.ACTION_POINTER_DOWN){
AudioManager mgr = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);
int streamVolume = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
PointF[] touchPoints = new PointF[ev.getPointerCount()];
for(int i = 0; i < ev.getPointerCount(); i++){
touchPoints[i] = new PointF(ev.getX(i),ev.getY(i));
}
for(final PointF point : touchPoints){
x = ev.getX(ev.getActionIndex());
y = ev.getY(ev.getActionIndex());
int ptx = (int) (x - x%widthIncrement);
int pty = (int) (y - y%heightIncrement);
playSound(pointMap.get(new Point(ptx,pty)));
}
return true;
}
return true;
}
答案 0 :(得分:2)
好吧,你可以确定一个非主指针(可能是另一个手指)是否以相同的方式向下移动,除了不是寻找ACTION_DOWN,寻找ACTION_POINTER_DOWN。
答案 1 :(得分:0)
需要注意的事项是:许多Android手机都会因多点触控而被窃听。
谷歌针对Android多点触控问题并观看视频。
基本上,如果您按住一根手指,然后移动另一根手指,当第二根手指靠近x或y接近第一根手指时,即使手指没有移动,第一根手指也会移动
这是一个完整的PITA ...只是想你可能想知道......
GAJ