Controlling two ViewPager Together

2020-02-10 07:10发布

I need to synchronize the two ViewPager together. The requirement is something like on scrolling the ViewPager-1 and the ViewPager-2 should also scroll by certain amount. The Image shown below will make you more clear with my question.

enter image description here

You can also help me with some tutorials link. Thanks.

2条回答
混吃等死
2楼-- · 2020-02-10 07:44

You can extend ViewPager in order to create a custom view and override onTouchEvent() in the following way:

        @Override
        public boolean onTouchEvent(MotionEvent event) {

          if(mDependentView != null){
            mDependentView.onTouchEvent(event);
          }
          return super.onTouchEvent(event);
        }

Also create a setter inside your custom class in order to set the dependentView

public void setDependentView(View view){
   mDependentView = view;
}

Then you should set the second viewpager as dependent view of the first viewpager in your activity.

查看更多
\"骚年 ilove
3楼-- · 2020-02-10 07:54

I think this is what you need:

        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;
            }
        });

I have a same problem, but first I try to use fakeDragBy method, which is dead end. (if you have more than two pages)

查看更多
登录 后发表回答