我有一个ImageView,它已经有一个事件监听器,可以让图像变焦。
但是,我还有一个缩放按钮,而不是重新实现我的缩放方法,我想以编程方式将双击事件发送到imageview。但是,我似乎找不到任何有用的资源来制作和调度事件。
如何以编程方式将事件分派给视图?
答案 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));
这就是您需要做的。 希望对别人有帮助