Android - 忽略父视图的触摸事件,仅响应子视图的触摸事件

3

我有一个像这样的布局:

RelativeLayout_Parent
  -> RelativeLayout_Child

两个视图都有触摸事件。但是当我触摸 RelativeLayout_Child 时,父视图的触摸事件也被触发了。

如何避免在子视图触摸时引起父视图触摸?


当触摸子布局时,为父布局设置 focusable="false"enable="false" - Piyush
1个回答

4
非常简单,只需在您的子视图上实现OnTouchListener,并在接收到Touch事件时为子视图返回true,这样可以确保触摸事件不会传播到其他视图。
    child_view.setOnTouchListener(new OnTouchListener(){

        @Override
        public boolean onTouch(View arg0, MotionEvent arg1) {
            // this will make sure event is not propagated to others, nesting same view area
            return true;
        }

    });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接