onInterceptTouchEvent和onTouchEvent調用時序

<?xml version="1.0" encoding="utf-8"?>

<LayoutView 1  >

      <LayoutView 2  >

          <MyTextView 3 />

      </LayoutView2>

</LayoutView1>


1.       down事件首先會傳遞到(父VIEW 1)onInterceptTouchEvent()方法

2.       如果該View 1 onInterceptTouchEvent()在接收到down事件處理完成之後return false,那麼後續的move, up等事件將繼續會先傳遞給該View 1 ,之後才和down事件一樣傳遞給最終的目標view(子VIEW)onTouchEvent()處理。

3.       如果 1 onInterceptTouchEvent()在接收到down事件處理完成之後return true,那麼後續的move, up等事件將不再傳遞給onInterceptTouchEvent(),而是和down事件一樣傳遞給 1 onTouchEvent()處理,注意,目標view(子VIEW)將接收不到任何事件。

4.       如果最終需要處理事件的view 3 onTouchEvent()返回了false,那麼該事件將被傳遞至其父VIEW 2 onTouchEvent()處理。

5.       如果最終需要處理事件的view onTouchEvent()返回了true,那麼後續事件將可以繼續傳遞給該viewonTouchEvent()處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章