欢迎使用CSDN-markdown编辑器

ViewGroup 事件分发

最近在跟着大牛系统地学习android,感觉不能像之前那样,一知半解,所以每看一篇文章,做些笔记,以便后面翻看~

  • 如果ViewGroup的子View可以处理处理该事件,则由子View处理,而ViewGroup的onTouchEvent不会被触发;

  • ViewGroup如果想处理事件,则使用onInterceptTouchEvent对该事件进行拦截,并return true(返回true,子view则不会再处理),把事件交给自己处理,则会执行自己对应的onTouchEvent方法

  • 此时,子View也可设置getParent().requestDisallowInterceptTouchEvent(true); 来处理MOVE或者UP事件,进而防止ViewGroup对其MOVE或者UP事件进行拦截;

    该原理在slidingmenu的menu,在ViewGroup的dispatchTouchEvent中判断用户是不是想显示菜单。 详见博客

你可能感兴趣的:(android,ViewGroup)