在android中的imageview上触发双击事件

时间:2014-02-25 01:47:15

标签: android events imageview

我有一个ImageView,它已经有一个事件监听器,可以让图像变焦。

但是,我还有一个缩放按钮,而不是重新实现我的缩放方法,我想以编程方式将双击事件发送到imageview。但是,我似乎找不到任何有用的资源来制作和调度事件。

如何以编程方式将事件分派给视图?

2 个答案:

答案 0 :(得分:0)

您可以创建自己的活动,然后调用您的活动onTouchEvent ...

MotionEvent event = MotionEvent.obtain(downTime, eventTime, action, x, y, pressure, size, metaState, xPrecision, yPrecision, deviceId, edgeFlags);
onTouchEvent(event);

我不确定这会起作用bc它的接缝可能是安全性失败,因为你可以强迫用户在某些添加或类似的东西中“点击”......

答案 1 :(得分:0)

后来但正在处理同样的事情,所以我想到了为其他任何人回答

确定一些代码:

final GestureDetector gd = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
        @Override
        public boolean onDown(MotionEvent e) {
            return true;
        }

        @Override
        public boolean onDoubleTap(MotionEvent e) {

            Animation animUpDown;

            // load the animation

            Toast.makeText(getApplicationContext(), "Item added to favorites", Toast.LENGTH_LONG).show();
            return true;
        }

        @Override
        public void onLongPress(MotionEvent e) {
            super.onLongPress(e);

        }

        @Override
        public boolean onDoubleTapEvent(MotionEvent e) {
            return true;
        }
    });

    viewToBeTapped.setOnTouchListener((v, event) -> gd.onTouchEvent(event));

这就是您需要做的。 希望对别人有帮助