如何从视图的兄弟姐妹中阻止onTouchEvent?我有一个带有自定义按钮的ViewGroup。当按钮收到OnTouchEvent时,我想阻止进一步的OnTouchEvents转到按钮的兄弟姐妹。我做想要继续在按钮中接收OnTouchEvent。
答案 0 :(得分:0)
我认为您也应该使用自定义ViewGroup
。为了获得您想要的内容,您应该覆盖onInterceptTouchEvent()
方法,如所述的here:
onInterceptTouchEvent()方法为父级提供了查看的机会 孩子们之前的任何触摸事件。如果你从中返回true onInterceptTouchEvent(),以前处理的子视图 触摸事件接收ACTION_CANCEL,以及从该点开始的事件 forward通常会被发送到父进程的onTouchEvent()方法 处理。 onInterceptTouchEvent()也可以返回false并且只是间谍 在事件中,他们沿着视图层次结构向前移动 目标,它将使用自己的onTouchEvent()来处理事件。
基本上,根据您自己的逻辑(按钮onTouchEvent
等),如果ViewGroup.onInterceptTouchEvent()
原始坐标不包含在您的可见矩形中,您应该指示您的MotionEvent
返回true按钮。