Android-事件传递的学习

本文出自Zone的博客,如需转载请标明出处,尊重原创谢谢 博客地址:https://luhaoaimama1.github.io/2016/09/17/EventPass/

事件传递的总结图

处理特殊图形点击事件的几种方式 :

通过path绘制特殊的点击范围, 放入Region中 然后通过contains是否包含即可

兼容onClick1:

 @Override
    public boolean dispatchTouchEvent(MotionEvent event) {
        return isEventInPath(event)?super.dispatchTouchEvent(event);
    }
参考:http://blog.csdn.net/qibin0506/article/details/52676670

兼容onClick2:

 @Override
    public boolean onTouchEvent(MotionEvent event) {
        return isEventInPath(event)?super.onTouchEvent(event):false;
    }

自己的回调监听:

 @Override
    public boolean onTouchEvent(MotionEvent event) {
    switch (event.getActionMasked()) {
        mListener.onCenterCliched();//
     }
     return true;
    }
    // 点击事件监听器
    public interface MenuListener {
        void onCenterCliched();
        }
参考:http://www.gcssloop.com/customview/touch-matrix-region