在表面视图中触摸事件和手势

问题描述:

任何人都可以指向某些类或针对以下情况提出任何建议吗?在表面视图中触摸事件和手势

我有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找到。