自定义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