如何在Android中处理重叠按钮OnTouch事件




我正在开发一个具有多个重叠按钮的 android 应用程序,我想对每个按钮的触摸事件执行一些操作(我通过 java 代码而不是 XML 添加这些按钮)。
重叠按钮

@Override
public boolean onTouchListener(View v, MotionEvent event)
{
if(MotionEvent.ACTION_MOVE){
//action to perform
}
return true;
}


我想做的是,当我触摸按钮 1 并分别移动到按钮 2 和按钮 3 而不离开屏幕时,当我的手指越过按钮 2 然后按钮 2 触摸操作应该执行,代码应该停止执行按钮 1 操作。
目前发生的事情是,当我触摸按钮 1 并过来按钮 2 时,
代码仍然正在执行按钮 1 动作,一旦我离开屏幕并触摸按钮 2 或按钮 3 与它们关联的动作开始执行。我想在触摸任何按钮并移动到任何其他按钮时执行与按钮关联的操作
,以便代码应识别我正在触摸的按钮并仅执行与该按钮关联的操作。

如果有任何困惑,请回复...

您必须侦听并拦截来自父ViewGroup的您感兴趣的触摸事件。有关更多详细信息,请参阅此处。

来自ViewGroup#onInterceptTouchEvent(MotionEvent ev)的文档:

实现此方法以截获所有触摸屏运动事件。这使您可以在将事件发送给您的孩子时观看事件,并在任何时候拥有当前手势的所有权。

最新更新