安卓事件分發機制

public Boolean dispatchTouchEvent(MotionEvent ev){
               boolean consume = false;
               if(onInterceTouchEvent(ev)){
                       consume=onTouchEvent(ev);
               }else{
                   consume=child.dispatchTouchEvent(ev);
               }
               return  consume;
    }

對於一個根ViewGroup,點擊事件產生後,首先傳遞給它,它的dispatchTouchEvent就會被調用,如果它的onInterceTouchEvent方法返回true就表示它要攔截當前事件,事件就會交給它處理,即調用它的onTouchEvent方法;如果返回false,就表示它不攔截當前事件,事件繼續傳給它的子元素,接着子元素的dispatchTouchEvent方法就會被調用,如此反覆直到事件最終處理。

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