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

问题描述 投票:2回答:1

我正在尝试在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处理,但没有捕获任何事件。

谢谢。

android touch parent drag
1个回答
3
投票

覆盖onInterceptTouchEvent(MotionEvent事件)

© www.soinside.com 2019 - 2024. All rights reserved.