安卓笔记侠

专注安卓开发

导航

android 事件反拦截


有一种方法可以阻止父层的View截获touch事件,就是调用 getParent().requestDisallowInterceptTouchEvent(true);方法。
一旦底层View收到touch的 action后调用这个方法那么父层View就不会再调用onInterceptTouchEvent了,也无法截获以后的action

 

在ViewPagerIndicator项目中找到TabPageIndicator该类,添加如下代码

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
     //true 不许父元素拦截当前控件的的事件,否则反之
    getParent().requestDisallowInterceptTouchEvent(true);
    return super.dispatchTouchEvent(ev);
}

  

android 事件反拦截

在需要的地方调用
getParent().requestDisallowInterceptTouchEvent(true);

如
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    getParent().requestDisallowInterceptTouchEvent(true);
    return super.dispatchTouchEvent(ev);
}

  

posted on 2016-10-25 22:49  安卓笔记侠  阅读(408)  评论(0编辑  收藏  举报