自定义LinkedViewPager实现2个ViewPager的联动

不多说先看图。

自定义LinkedViewPager实现2个ViewPager的联动


这里使用了一个开源项目,主要代码都来自于此:https://github.com/jianghejie/LinkedViewPager

但是需要改动,就是头部这部分。


首先,顶部的ViewPager左右两边都设置一定的间距

<com.android.lvp.linkedviewpager.CustomPager
    android:id="@+id/topPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginStart="40dp"
    android:layout_marginEnd="40dp"
    android:focusable="false" />


其次,顶部viewPager父容器的Touch事件交给Viewpager处理,否则会出现viewpager的触摸范围只限于中间的卡片区域

container.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        return topPager.dispatchTouchEvent(event);
    }
});

最后,就是需要做到无限轮播,这个就不说了。

附上我的github地址:https://github.com/River1113/LinkedViewpager