android 拦截事件

时间:2023-03-08 17:47:05
android 拦截事件

在做布局文件时,经常会有布局组件压在其它组件上面,这样点击上面布局没有控件的部分就会点中下面布局的控件。

如何拦截事件不让事件传递到下一层呢?

布局组件onTouchEvent() 用于处理事件,返回值决定当前控件是否消费(consume)了这个事件。

返回值为true时不在传递给子控件。

 View conentView = (View)ctx.findViewById(R.id.mylayoutid);
conentView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});