android 拦截事件
Posted 勇者工作室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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; } });
以上是关于android 拦截事件的主要内容,如果未能解决你的问题,请参考以下文章
Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段