android - 当用户在屏幕上滑动手指时,如何检测特定视图具有焦点

时间:2010-08-31 16:58:11

标签: android

我正在开发一款类似钢琴的Android应用程序。当用户在没有抬起手指的情况下将手指移动到各种钢琴杆上时,我无法播放声音。我看了看手势但是做不到。 任何人都可以。帮我。

谢谢,

1 个答案:

答案 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)。