android.support.v4.view.ViewPager不禁止在Android 2.2中滚动子项?

时间:2012-07-05 10:31:42

标签: android android-4.0-ice-cream-sandwich

我的应用程序使用Android支持v4使用ViewPager,我的一个视图在页面内部有一个Horizo​​ntalScrollView,在4.0中它可以正常滚动但运行2.2 ViewPager正在转移到下一个。

有什么建议吗?

1 个答案:

答案 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将忽略此行为并将移动页面