1

我很难计算在屏幕的每个“一半”中进行了多少触摸。当我触摸上侧时,它计数正确,下侧也一样。但是,当我触摸上侧时,不要松开它,然后触摸下侧,那么它算错了,我的实现有什么问题?

     myView.setOnTouchListener(new OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                int action = event.getAction() & MotionEvent.ACTION_MASK;
                if (action == MotionEvent.ACTION_DOWN) {
                    if(event.getY()<400)
                    {


                    }
                    else
                    {

                    }
                }

                if (action == MotionEvent.ACTION_UP) {

                    if(event.getY()<400)
                    {

                        zenbat=zenbat+1;
                        tv.setText(String.valueOf(zenbat));

                    }
                    if(event.getY()>400)
                    {
                        zenbat1=zenbat1+1;
                        tv1.setText(String.valueOf(zenbat1));

                    }
                }

                if (action == MotionEvent.ACTION_POINTER_DOWN) {
                    if(event.getY()<400)
                    {                           
                    }
                    else
                    {
                    }
                }

                if (action == MotionEvent.ACTION_POINTER_UP) {
                    if(event.getY()<400)
                    {
                        zenbat=zenbat+1;
                        tv.setText(String.valueOf(zenbat));

                    }
                    if(event.getY()>400)
                    {
                        zenbat1=zenbat1+1;
                        tv1.setText(String.valueOf(zenbat1));

                    }
                } 
                return true;
            }
        });
4

1 回答 1

0

如果要正确处理多点触控事件,则需要使用指针索引来正确识别产生事件的手指。

我在Android 多点触控干扰中回答了一个类似的问题,我在其中发布了一个代码示例如何做到这一点。

要正确识别手指,您应该参考fingerId发布的代码中的。

问候。

于 2013-01-01T01:45:39.493 回答