我的应用程序使用Android支持v4使用ViewPager,我的一个视图在页面内部有一个HorizontalScrollView,在4.0中它可以正常滚动但运行2.2 ViewPager正在转移到下一个。
有什么建议吗?
答案 0 :(得分:10)
也许你可以试试这个:
public class CustomViewPager extends ViewPager {
public CustomViewPager(Context context) {
super(context);
}
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
if(v instanceof HorizontalScrollView){
return true;
}
return super.canScroll(v, checkV, dx, x, y);
}
}
<强>解释强>
这将告诉viewpager,如果您滚动的视图中的视图是水平列表视图,那么他需要忽略滚动并将水平滚动保留为“处理它”,但是您需要记住任何水平滚动视图外的滚动(水平滚动)将使您的viewpager更改页面,也就是说,如果您从外部滚动到内部(您的手指在平板电脑外面并且进入),viewpager将忽略此行为并将移动页面