ViewPager+Fragment嵌套ViewPager+Fragment

来源:互联网 发布:app软件价格 编辑:程序博客网 时间:2024/06/05 11:34

需要自定义子ViewPager,重写dispatchTouchEvent方法
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
switch (ev.getAction()){
case MotionEvent.ACTION_DOWN:
getParent().requestDisallowInterceptTouchEvent(true);
startX = (int) ev.getRawX();
startY = (int) ev.getRawY();
break;
case MotionEvent.ACTION_MOVE:
int endX=(int) ev.getRawX();
int endY=(int) ev.getRawY();

            if(Math.abs(endX-startX)>Math.abs(endY-startY)){//左右滑动                if(endX>startX){//右滑                    if(getCurrentItem()==0){//第一个页面,需要父控件拦截                        getParent().requestDisallowInterceptTouchEvent(false);                    }else {                        getParent().requestDisallowInterceptTouchEvent(true);                    }                }else{//左滑                    if(getCurrentItem()==getAdapter().getCount()-1){//最后一个页面,需要拦截                        getParent().requestDisallowInterceptTouchEvent(false);                    }else {                        getParent().requestDisallowInterceptTouchEvent(true);                    }                }            }else{//上下滑动,需要父控件拦截                getParent().requestDisallowInterceptTouchEvent(false);            }            break;    }    return super.dispatchTouchEvent(ev);}
阅读全文
0 0
原创粉丝点击