首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

dispatchTouchEvent事件分发浅析(七)requestDisallowInterceptTouchEvent

requestDisallowInterceptTouchEvent(MotionEvent)方法, 这样,可以放父View的 onInterceptTouchEvent(MotionEvent)失效 (当然,还有其他情况,现在暂时略) ---- dispatchTouchEvent...onInterceptTouchEvent ** public boolean onInterceptTouchEvent(MotionEvent ev) { return false; } 那我们来看看 dispatchTouchEvent...mGroupFlags 和很多方法有关,方法中和很多二进制的变量有关,并且这些二进制码都不太一样, 比较复杂,只能暂时放一下 FLAG_DISALLOW_INTERCEPT 就比较简单点, 只和 dispatchTouchEvent...resetTouchState(), requestDisallowInterceptTouchEvent 这3个方法有关 (先忽略resetTouchState()这个方法,也就是上面说的别的情况, dispatchTouchEvent...boolean值,再如果有 父View,修改父View的 mGroupFlags 值 如果为true,则会执行后面的方法,修改 父View对应的 mGroupFlags 值 ---- 最后,我们回到 上面贴的 dispatchTouchEvent

1.1K10

Android查缺补漏(View篇)--事件分发机制

boolean dispatchTouchEvent (MotionEvent event): 分发事件,只要事件能传递到当前View就一定会调用此方法,其返回值是一个布尔类型表示是否消耗事件。...如果此方法返回false表示不拦截事件,事件将传递给下级View的dispatchTouchEvent()。...首先会传递给Activity的dispatchTouchEvent(),在此方法内部会将由Window处理,接着事件会传递给根View,根View接收到事件后就会按照事件分发机制去处理事件。...如果onInterceptTouchEvent()放回false就表示它不拦截事件,事件将传给其下级的View,调用下级View的dispatchTouchEvent()。...Log.i(TAG, "dispatchTouchEvent: " + event.getAction() + " | 分发事件"); return super.dispatchTouchEvent

61770
领券