Android 点击事件冲突之拦截父控件事件 交给子控件处理

babyDetail.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if(event.getAction()==MotionEvent.ACTION_DOWN){
            //通知父控件不要干扰,即屏蔽父控件的该事件以及该事件之后的一切action
            v.getParent().requestDisallowInterceptTouchEvent(true);
        }
        if(event.getAction()==MotionEvent.ACTION_MOVE){
            //通知父控件不要干扰,即屏蔽父控件的该事件以及该事件之后的一切action
            v.getParent().requestDisallowInterceptTouchEvent(true);
        }
        if(event.getAction()== MotionEvent.ACTION_UP){
            v.getParent().requestDisallowInterceptTouchEvent(false);
        }
        return false;
    }
});

你可能感兴趣的:(Android,Studio)