【发布时间】:2021-08-27 23:47:20
【问题描述】:
我正在尝试使用MotionEvent 生成双击,因此我可以欺骗视图,使其认为发生了双击,但它不起作用。 Zoomageview 是从 https://github.com/jsibbold/zoomage 导入的实现,它提供了 ImageView 缩放功能。双击是ZoomageView 的缩放功能,但我想以编程方式指定它应该放大的 x 和 y 坐标。
编辑:我忘了提到ZoomageView 扩展AppCompatImageView。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MotionEvent motionEvent = MotionEvent.obtain(
SystemClock.uptimeMillis(),
SystemClock.uptimeMillis(),
MotionEvent.ACTION_DOWN,
v.getX(),
v.getY(),
0
);
zoomageView.onTouchEvent(motionEvent);
motionEvent = MotionEvent.obtain(
SystemClock.uptimeMillis(),
SystemClock.uptimeMillis(),
MotionEvent.ACTION_UP,
v.getX(),
v.getY(),
0
);
zoomageView.onTouchEvent(motionEvent);
motionEvent = MotionEvent.obtain(
SystemClock.uptimeMillis(),
SystemClock.uptimeMillis(),
MotionEvent.ACTION_DOWN,
v.getX(),
v.getY(),
0
);
zoomageView.onTouchEvent(motionEvent);
motionEvent = MotionEvent.obtain(
SystemClock.uptimeMillis(),
SystemClock.uptimeMillis(),
MotionEvent.ACTION_UP,
v.getX(),
v.getY(),
0
);
zoomageView.onTouchEvent(motionEvent);
}
})
【问题讨论】:
标签: java android touch-event double-click motionevent