解决思路:
自定义ViewPager,在onInterceptTouchEvent方法当中判断,当前点击的点是不是HorizontalScrollView上的点,
如果是,则:
this.requestDisallowInterceptTouchEvent(true);
return super.onInterceptTouchEvent(arg0);
如果不是,则:
this.requestDisallowInterceptTouchEvent(false);
return false;
判断点是否是HorizontalScrollView上的点的方法如下:
private boolean touchScrollLayout(MotionEvent event){
Rect rect = new Rect();
//horizontalScrollView.getLocalVisibleRect(rect);
horizontalScrollView.getGlobalVisibleRect(rect);
if(rect.contains((int)event.getX(), (int)event.getY())){
return true;
}else{
return false;
}
}
处理ViewPager边界的方法是在ViewPager外面加一个Layout,对这个Layout设置padding即可。
自定义ViewPager,在onInterceptTouchEvent方法当中判断,当前点击的点是不是HorizontalScrollView上的点,
如果是,则:
this.requestDisallowInterceptTouchEvent(true);
return super.onInterceptTouchEvent(arg0);
如果不是,则:
this.requestDisallowInterceptTouchEvent(false);
return false;
判断点是否是HorizontalScrollView上的点的方法如下:
private boolean touchScrollLayout(MotionEvent event){
Rect rect = new Rect();
//horizontalScrollView.getLocalVisibleRect(rect);
horizontalScrollView.getGlobalVisibleRect(rect);
if(rect.contains((int)event.getX(), (int)event.getY())){
return true;
}else{
return false;
}
}
处理ViewPager边界的方法是在ViewPager外面加一个Layout,对这个Layout设置padding即可。