public class ChildViewPager extends ViewPager{
private float downX;
public ChildViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ChildViewPager(Context context) {
super(context);
}
/**
* 内部拦截法
*/
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
int curPosition;
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
getParent().requestDisallowInterceptTouchEvent(true);
downX = ev.getX();
break;
case MotionEvent.ACTION_MOVE:
curPosition = getCurrentItem();
int count = getAdapter().getCount();
if(curPosition == count - 1 && (ev.getX() - downX) < 0){//最后一页,并且向左滑动
getParent().requestDisallowInterceptTouchEvent(false);
}else if(curPosition == 0 && (ev.getX() - downX) > 0){//第一页,并且向右滑动
getParent().requestDisallowInterceptTouchEvent(false);
}else{
getParent().requestDisallowInterceptTouchEvent(true);
}
break;
}
return super.dispatchTouchEvent(ev);
}
}
源码下载地址:http://download.csdn.net/download/android_tcp/9964479
viewpager嵌套viewpager滑动处理
最新推荐文章于 2023-02-02 11:55:02 发布