我的应用程序使用 ViewPager 支持 v4,我的一个视图在页面内有一个 HorizontalScrollView,在 4.0 版本中它可以正常滚动,但运行 2.2 版本时,ViewPager 正在移动到下一个。
有什么建议吗?
我的应用程序使用 ViewPager 支持 v4,我的一个视图在页面内有一个 HorizontalScrollView,在 4.0 版本中它可以正常滚动,但运行 2.2 版本时,ViewPager 正在移动到下一个。
有什么建议吗?
也许你可以试试这个:
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 如果您滚动的视图中的视图是水平列表视图,那么他需要忽略滚动并让水平滚动“处理它”,但您需要记住任何滚动(水平scroll) 水平滚动视图之外将使您的 viewpager 更改页面,此外,如果您从外部滚动到内部(您的手指在平板电脑之外并进入),viewpager 将忽略此行为并移动页面。