point1
设置viewPager的clipChildPadding为false,并设置vp的padding;
1 2 3 4 5 6
| <com.example.kb_jay.kjcusvp.KJCusVp android:id="@+id/vp_test" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="40dp" android:clipToPadding="false" />
|
point2
自定义PageTransformer;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public static class KJTransformer implements PageTransformer {
private static final float SCALE = 0.8f; private static final int TRANS=50;
@Override public void transformPage(@NonNull View view, float position) { float temp=Math.abs(position); float scale = (1-(1- SCALE)*temp); view.setScaleX(scale); view.setScaleY(scale); view.setTranslationX(-TRANS*position);
} }
|
其中
- view表示itemView
- position表示itemView的位置(-1,0,1)
point3
设置viewPager的切换动画
1
| mVp.setPageTransformer(false,new KJCusVp.KJTransformer());
|
源码地址:https://github.com/kbjay/KJCustomVp