您的位置:首页 > 其它

两个view重叠时如何只让上层view响应触摸事件

2012-08-26 19:01 3059 查看
两个view重叠堆放,view1在上,view2在下,view2中有list控件,view1中有几个按钮

由于view1中的按钮设置了点击响应函数,等于消费了在按钮区域的点击,底下view2的list控件不会再响应点击事件了

在view1的非按钮区域点击,由于没有消费点击事件,点击事件会继续传到底下的view2(事件是先传到他们的父view,也就是包含他们的layout,父view遍历所有的子view传递事件),如果点击区域在view2的list控件范围,list设置了点击响应函数,则list控件会响应事件

如果需要view2任何区域都接收不到事件,应该设置整个view1的响应回调函数,以消费任何区域的点击事件:

view1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//不需要任何操作,只是为了消费事件

}

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: