我需要将两个ViewPager同步在一起。要求类似于滚动ViewPager-1,ViewPager-2也应该滚动一定量。下面显示的图片将使您更清楚我的问题。
你也可以帮我一些教程链接。感谢。
答案 0 :(得分:14)
我认为这就是你所需要的:
viewpager1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
viewpager2.onTouchEvent(event);
return false;
}
});
viewpager2.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
viewpager1.onTouchEvent(event);
return false;
}
});
我有同样的问题,但首先我尝试使用fakeDragBy方法,这是死路一条。 (如果你有两页以上)
答案 1 :(得分:2)
您可以扩展ViewPager以创建自定义视图并以下列方式覆盖onTouchEvent():
@Override
public boolean onTouchEvent(MotionEvent event) {
if(mDependentView != null){
mDependentView.onTouchEvent(event);
}
return super.onTouchEvent(event);
}
还要在自定义类中创建一个setter,以便设置dependentView
public void setDependentView(View view){
mDependentView = view;
}
然后,您应该将第二个viewpager设置为活动中第一个viewpager的从属视图。