我使用RelativeLayout
重叠两个不同的视图。两个视图都填满整个屏幕。
如果用户触摸屏幕,我希望两个视图都能够接收TouchEvent
并激活他们自己的onTouch
- 方法。目前,只有一个视图收到TouchEvent
如何让两个视图都能收到TouchEvent?
提前感谢您的帮助。
编辑:这是代码
touchView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
view1.onTouchEvent(event);
view2.onTouchEvent(event);
return false;
}
});
答案 0 :(得分:2)
您可以创建第三个不可见的视图并将其放置在重叠部分的顶部。然后在其TouchEvent中执行这两个TouchEvent的操作
答案 1 :(得分:0)
对于顶视图,指定clickable = false
它将允许触摸通过它进行拦截
答案 2 :(得分:0)
您可以尝试检查rawX& TouchEvent
的rawY位于未获取事件的视图的hitRect内。如果是,您可以使用dispatchTouchEvent(MotionEvent)
向TouchEvent
发送未获得该事件的视图