7

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

在此处输入图像描述

您还可以通过一些教程链接帮助我。谢谢。

4

2 回答 2

15

我认为这是你需要的:

        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 方法,这是死路一条。(如果您有超过两页)

于 2013-03-19T12:26:37.930 回答
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 的依赖视图。

于 2012-12-07T06:54:54.910 回答