在表面视图中触摸事件和手势
问题描述:
任何人都可以指向某些类或针对以下情况提出任何建议吗?在表面视图中触摸事件和手势
我有SurfaceView有一个背景图像,我希望绘制其他位图。我想支持以下操作:
- 单水龙头新位图在背景之上加入,在给定位置双击位
- 被删除,
- 自来水&移动(如拖动&下降)位图正在移动,
- 在按下并移动表面视图正在滚动,
- 在捏出/捏在表面视图是相应地缩放。
这只能用GestureRezognizer吗?如果不是,如何处理所有这些情况?
答
要处理触摸输入,请在您的类中重写onTouchEvent以扩展SurfaceView以处理MotionEvent。以下是一个示例代码,用于在用户第一次触摸屏幕时获取屏幕位置。
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
touchX = event.getX();
touchY = event.getY();
}
return true;
}
关于MotionEvent对象的更多信息可以在Android Developers website找到。