首页
学习
活动
专区
工具
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

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

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

53620

Android自定义滑动删除效果的实现代码

; } case MotionEvent.ACTION_MOVE: { Log.d("@HusterYP", String.valueOf("onInterceptTouchEvent...方法中返回不同值时的结论了: 如果在最后返回 false,那么 DOWN,MOVE,UP事件都是交给 onInterceptTouchEvent 处理可上下滚动 如果在最后返回 true,那么 onInterceptTouchEvent...只会接受到一个 DOWN,一个 MOVE;但是onTouchEvent 接收到剩下的 MOVE 和 UP; 不可上下滚动 如果最后返回 false,但是在 onInterceptTouchEvent...的 DOWN 判断中返回 true,这种情况同1 如果最后返回 false 或者 true,但是在 onInterceptTouchEvent 的 DOWN 判断中调用rv.setLayoutFrozen...(true);方法,那么 onInterceptTouchEvent 只会收到一个 DOWN 如果在最后返回 false,但是在 onInterceptTouchEvent 的 MOVE 判断中 return

1.1K20
领券