如何将子视图中的触摸事件传递给父视图?

时间:2010-11-23 10:20:25

标签: android touch parent drag

我正在尝试在Android应用程序中实现拖放功能。拖动部分已完成,剩下的一件事就是找出拖动视图的放置位置?在哪个视图上,更准确。 这是我拖动视图的onTouch函数:

public boolean onTouch(View v, MotionEvent event) {
  // Is the event inside of this view?
  if (!mRegion.contains((int) event.getX(), (int) event.getY())) {
   return false;
  }

  if (event.getAction() == MotionEvent.ACTION_DOWN) {
   ...
   System.out.println("**** IMAGE DRAG STARTED!");
   return true;
  } else if (event.getAction() == MotionEvent.ACTION_MOVE) {
                        ...
   this.invalidate();
   return true;   
  } else if (event.getAction() == MotionEvent.ACTION_UP){
   System.out.println("**** ICON DRAG ENDED!");
   return false;
  } else {
   return true;
  }
 }

除了ACTION_UP(发布视图的那一刻)之外,处理所有运动事件。问题是我应该如何在父级中调用此事件(将其传递给父级的onTouch处理程序),这样我就可以找到它被删除的位置。我在父级中实现了onTouch处理,但没有捕获任何事件。

感谢。

1 个答案:

答案 0 :(得分:3)

覆盖onInterceptTouchEvent(MotionEvent事件)