一起控制两个ViewPager

时间:2012-12-07 06:10:22

标签: android android-layout android-viewpager android-scrollview android-scroll

我需要将两个ViewPager同步在一起。要求类似于滚动ViewPager-1,ViewPager-2也应该滚动一定量。下面显示的图片将使您更清楚我的问题。

enter image description here

你也可以帮我一些教程链接。感谢。

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的从属视图。