我正在开发一款类似钢琴的Android应用程序。当用户在没有抬起手指的情况下将手指移动到各种钢琴杆上时,我无法播放声音。我看了看手势但是做不到。 任何人都可以。帮我。
谢谢,
答案 0 :(得分:4)
public boolean onTouch(View v, MotionEvent event) {
String eventName = "";
LinearLayout layout = (LinearLayout)v;
for(int i =0; i< layout.getChildCount(); i++)
{
View view = layout.getChildAt(i);
Rect outRect = new Rect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
//Rect outRect = new Rect();
//view.getLocalVisibleRect(outRect);//nao funciona
if(outRect.contains((int)event.getX(), (int)event.getY()))
{
//touching piano key
}
}
}
将此代码添加到Layout OnTouchEventListener方法中。 请记住:您必须将视图添加到线性/相对/网格布局并调用(线性/相对/网格).setOnTouchEventListener(OnTouchEventListener)。