Android ImageView Gesture/DoubleTap not firing

不羁岁月 提交于 2019-12-25 08:48:00

问题


Ok, so I have this setup

ScrollView HorizontalScrollView ImageView

I am trying to capture the doubleTap on the Image View.. my code looks like the following:

ImageView iv = (ImageView)findViewById(R.id.ImageViewID);

iv.setImageDrawable(iv.getResources().getDrawable(R.drawable.someimage));
// Gesture detection
detector = new GestureDetector(this,new SimpleOnGestureListener(){

    //new myGestureClass());

    @Override
    public boolean onSingleTapUp(MotionEvent e) {
        // TODO Auto-generated method stub
        System.out.println("SINGLE TAP");
        return false;
    }

    @Override
    public boolean onDoubleTap(MotionEvent arg0) {
        // TODO Auto-generated method stub
        System.out.println("DOUBLE TAP");
        return false;
    }

    @Override
    public boolean onDoubleTapEvent(MotionEvent arg0) {
        // TODO Auto-generated method stub
        System.out.println("DOUBLE TAP EVENT");
        return false;
    }

    @Override
    public boolean onSingleTapConfirmed(MotionEvent arg0) {
        // TODO Auto-generated method stub
        return false;
    }

});

View.OnTouchListener gestureListener = new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
        System.out.println("TOUCH!" +event);
        if (detector.onTouchEvent(event)) {
            return true;                 
        }   
        return false;
        }
    };

iv.setOnTouchListener(gestureListener); 

Yet the overridden tap methods never get called... The onTouch does get called but the detector.onTouchEvent(event) that should be tying my events to the touch event, never ever calls my overRidden methods.... So, what the heck am I am doing wrong?


回答1:


Override onDown method and return true. Source

Hope this help.



来源:https://stackoverflow.com/questions/6611044/android-imageview-gesture-doubletap-not-firing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!