首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android中onInterceptTouchEvent()方法详解

返回值,跟踪android源码你会知道返回的是false 作用:让自定义布局上面的所有子view 例如button imageview 等可以被点击 @Override public boolean onInterceptTouchEvent...= (int) ev.getX(); windowY = (int) ev.getY(); setOnItemClickListener(ev); } return super.onInterceptTouchEvent...(ev); } 第二种:直接返回true 作用:让自定义布局上面的所有子view不可以被点击 @Override public boolean onInterceptTouchEvent...查阅文档可以看到,ViewGroup中有一个onInterceptTouchEvent方法,我们来看一下这个方法的源码: [java] view plaincopy /**  * Implement...Also, by returning true from  * onTouchEvent(), you will not receive any following  * events in onInterceptTouchEvent

3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android下的Touch事件分发详解

    二、触摸事件的三个关键方法 在 Android 系统中,触摸事件的分发过程涉及到三个重要的方法:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent...2.2 onInterceptTouchEvent(MotionEvent ev) 此方法用来拦截事件。如果返回值为 true,表示拦截,否则不拦截。...在这个过程中,每个视图(如 ViewGroup)都可以通过onInterceptTouchEvent方法对事件进行拦截。如果某个视图拦截了事件,事件将不再继续传递给更深层的子视图。...在这个过程中,每个视图都可以通过onInterceptTouchEvent方法对事件进行拦截。如果事件未被拦截,最终会传递到最内层的子视图。...3.3 简化实现 在 Android 中,Touch 事件的传递涉及到三个关键的方法:dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent。

    35310

    Android基础_事件分发源码走读

    Android的事件分发顺序是:Activity ----> ViewGroup ----> View 涉及到的几个重要方法: dispatchTouchEvent(); onInterceptTouchEvent...(); onTouchEvent(); dispatchTouchEvent负责事件的分发,onInterceptTouchEvent()是ViewGroup中判断是否进行事件拦截的方法...ViewGroup.java public boolean dispatchTouchEvent(MotionEvent ev) { //>>> 分析2 intercepted = onInterceptTouchEvent...如果需要对事件进行拦截,可以重写ViewGroup的onInterceptTouchEvent()方法,直接return true,onInterceptTouchEvent()方法只有ViewGroup...()方法来判断是否进行事件拦截,该方法默认return false,如果我们希望进行事件拦截,可以重写该方法,return true,则事件会被消费掉,不会再分发给子view;onInterceptTouchEvent

    56320

    Android触摸反馈

    每到一个子view,看他的onInterceptTouchEvent 方法是否拦截,ontouch是否消费方法,如果没有继续向下dispatchTouchEvent分发事件,都不处理向上传,当回到顶级,...View没有onInterceptTouchEvent()方法,有dispatchTouchEvent,一但有点击事件传递给它,它的ouTouchEvent()方法就会被调用。...收到ACTION_DOWN 询问onTouchEvent 是否处理,   Button 默认处理,此后的所有事件序列都直接跨过 ViewGroup#onInterceptTouchEvent 的判断直接传递给...(移动出自己的范围,就消失了) 事件冲突 不同向嵌套 外部处理,重写父view的onInterceptTouchEvent ,MotionEvent的事件全部返回false,不拦截; 内部处理。...同向嵌套 父 View 会彻底卡住子 View 原因:抢夺条件一致,但 父 View 的 onInterceptTouchEvent() 早于子View 的 dispatchTouchEvent()

    1.5K60
    领券