Androidイベント配信

2200 ワード

public class MyLinearLayout extends LinearLayout {
    public MyLinearLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        /**
         * dispatchTouchEvent       :
         * true:       ,          ,     
         * false:     ,        onTouchEvent    
         * super.dispatchTouchEvent:     view onInterceptTouchEvent      。
         */
        return super.dispatchTouchEvent(ev);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        /**
         * onInterceptTouchEvent       :
         * true:        view onTouchEvent    。
         * false:      ,      view dispatchTouchEvent    
         * super.onInterceptTouchEvent(ev):  ,   onTouchEvent    
         */
        return false;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        /**
         * onTouchEvent   :
         * true:        
         * false:     view    ,  view onTouchEvent    ,     false,      。
         * super.onTouchEvent(event):         false  
         */
        return super.onTouchEvent(event);
    }
}