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

Mik*_*key 3 android android-4.0-ice-cream-sandwich

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

有什么建议吗?

Jor*_*lar 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);
}

}
Run Code Online (Sandbox Code Playgroud)

说明:

这将告诉viewpager,如果您滚动的视图中的视图是水平列表视图,那么他需要忽略滚动并将水平滚动保留为"处理它",但是您需要记住任何滚动(水平)滚动)水平滚动视图外部将使您的viewpager更改页面,也就是说,如果您从外部滚动到内部(您的手指在平板电脑外面并进入),viewpager将忽略此行为并将移动页面.