如何忽略触摸事件,让下面的ImageView将其作为缩放手势处理(如果适用)?

时间:2014-12-18 10:23:25

标签: android

我有一个支持缩放的自定义ImageView控件(TouchImageView)。在这个视图的顶部有一个搜索栏。我希望搜索栏仅在用户点击或拖动搜索栏的拇指时才能工作。如果用户点击了搜索栏而不是拇指,那么下面的ImageView应该会收到触摸事件或手势。

这是我的代码。我设法使用dispatchTouchEvent将触摸事件发送到ImageView,但ImageView只接收触摸事件。我需要它来接收缩放手势(当然只有当用户进行缩放手势时。如果用户只进行触摸事件,那么ImageView应该只接收触摸事件。)

    seekbarHorizontal.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View arg0, MotionEvent arg1) {

            float x = arg1.getX();
            float thumbOffset = seekbarHorizontal.getThumbOffset();

            if(arg1.getAction() == MotionEvent.ACTION_DOWN)
            {
                if(x < seekbarHorizontal.getProgress() - thumbOffset || x > seekbarHorizontal.getProgress() + thumbOffset)
                {
                    sendSeekbarHorizontalTouchEventTo = "image";
                    imgRight.dispatchTouchEvent(arg1);
                    return true;
                }
                else
                {
                    sendSeekbarHorizontalTouchEventTo = "seekbar";
                    return false;
                }
            }
            else
            {
                if(sendSeekbarHorizontalTouchEventTo.equals("image"))
                {
                    imgRight.dispatchTouchEvent(arg1);
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
    });

0 个答案:

没有答案