首页
学习
活动
专区
工具
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基础_事件分发源码走读

    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下的Touch事件分发详解

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

    35310
    领券