子控件父控件冲突问题

1、父控件设置如下代码会拦截所有子控件触摸事件

@Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        if (isIntercept){
            return  true;
        }
        return super.onInterceptTouchEvent(ev);
    }

2、设置子控件不影响父控件事件,如子控件滑动与父控件scrollview冲突时

public boolean onTouchEvent(MotionEventevent)
{
    switch(event.getAction()){
    case MotionEvent.ACTION_MOVE:
        parent.requestDisallowInterceptTouchEvent(true);
        break;
    case MotionEvent.ACTION_UP:
    case MotionEvent.ACTION_CANCEL:
        parent.requestDisallowInterceptTouchEvent(false);
        break;
    }
}
发布了76 篇原创文章 · 获赞 39 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_26075861/article/details/88425491
今日推荐