您现在的位置是:主页 > news > 懒人做图网站/聚合搜索引擎
懒人做图网站/聚合搜索引擎
admin2025/5/2 9:37:54【news】
简介懒人做图网站,聚合搜索引擎,python做音乐网站,沧州网站建设培训借鉴自http://www.jianshu.com/p/e99b5e8bd67b 不过他写的有点多,这里就浓缩下(还有讲的不够全,等我看完源码再进行补充) onTouchEvent中分为 ACTION_DOWN ACTION_MOVE ACTION_UP 先讲ACTION_DOWN dispatch就是分发事件。 不…
借鉴自http://www.jianshu.com/p/e99b5e8bd67b
不过他写的有点多,这里就浓缩下(还有讲的不够全,等我看完源码再进行补充)
onTouchEvent中分为
ACTION_DOWN
ACTION_MOVE
ACTION_UP
先讲ACTION_DOWN
dispatch就是分发事件。
不管是dispatch还是on,返回了true都是直接消费。返回了false都是向上传。返回了super都是按他们应该前往的方向传(dispatch是向下,on是向上)
activity的dispatch有所不同,返回false也是会消费,只有super才会向下分发。
onIntercept有点特殊,是ViewGroup的拦截机制,为了自己吃独食,不让view享用。如果true,就代表拦截成立,直接就跳转到ViewGroup的on了。
(这3句话理解了就能记住这幅图,建议看完后自己也去默画这个图)
ACTION_MOVE、ACTION_UP
其实ACTION_DOWN还是有私心的,像投名状的庞青云一样,他拥有的比ACTION_MOVE、ACTION_UP更多。
我们都知道在哪里返回了true(intercept以外)都是打算自己消费掉,而ACTION_MOVE、ACTION_UP也会随之生效。但是这张图的目的是要读者明白,如果在onTouchEvent的时候返回了true,消费了事件,比如图中的ViewGroup2,那么他的ACTION_MOVE、ACTION_UP甚至不会继续向下分发,而是直接给他的onTouchEvent了。虽然没啥卵用,但是需要知道一下。
(最后建议看看我的demo,对这个图提出了异议)