所以我有两个按钮,想同时按下。如果我按下第一个它会记录一个“C”(作为钢琴音符),另一个记录一个 D。
至今:
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getActionMasked();
switch (event.getAction() & MotionEvent.ACTION_MASK){
case MotionEvent.ACTION_DOWN:
switch (v.getId()) {
case R.id.cnotebutton:
Log.i("C", "C1");
return true;
case R.id.c2notebutton:
Log.i("D", "D1");
return true;
default:
}
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_POINTER_DOWN:
break;
case MotionEvent.ACTION_POINTER_UP:
switch (v.getId()) {
case R.id.cnotebutton:
Log.i("C", "C2");
return true;
case R.id.c2notebutton:
Log.i("D", "D2");
return true;
default:
}
break;
case MotionEvent.ACTION_MOVE:
break;
default:
}
return true;
}
我记录 C1 和 C2 以区分情况,但每次按下按钮时,我只得到 C1、C2 或 D1、D2,就好像我用两根手指触摸了相同的按钮一样。我应该得到 C1,D2 或 D1,C2 取决于哪个手指先指向。有什么建议么?无论如何,我还没有找到一个钢琴样本项目,但是如果这不起作用或者我的方法完全错误,那肯定会帮助我。有没有?
提前致谢!